Programming on Post Machine

Interpreter

Download
PostMDev.jar (90 KB)
Version 0.9.9
Updated 2011.5.9
Platforms Windows, Mac OS, Linux, etc. (all java-supporting)
Requirements Java 1.6 or later installed
License Freeware

PostMDev (Post Machine interpreter) — small application, which contains PM-source editor and tape visualization. With it you can create and run Post machines.

PostMDev - Post machine
        interpreter screenshot

PostMDev screenshot

Program works without installing. Open with jre/bin/javaw.exe (jre is the way to JRE folder, e.g. C:\Program Files\Java\jre6 in Windows) if it has not been set by default.

Editor

Each line in text area is PM command (see syntax here). You don’t have to write line numbers, they are posted in the row header automatically.

While typing, angle brackets are replaced by arrows (used as moving commands). Undo/redo is supported.

Any comments are allowed after the commands. They don’t affect the performance of the machine (see the screenshot above). Moreover, empty and comment-only lines are allowed too.

The current line is highlighted in the row header. As usual, initially it is the first line. Zero line is used as halt command (but you can also paste there any other instruction, comment or leave zero line empty).

You can save program as .pm file and open another one at any time.

Functions

Copy for/Paste from Web — copy/paste with inserting/removing line numbers respectively. Can be used to represent program out of PostMDev.

Inner copy/paste — copy/paste with changing directions in the commands according to the new line numbers. Keeps directions correct in the copied block of code. This function doesn’t related with the system clipboard, works only in PostMDev.

Tape

Click once on the cell to mark/unmark it (drag to mark/erase block of cells). Click on the cell number to change carriage position (highlighted in gray).

Tape is extended itself as necessary. Function “New” (Tape → New) reduces tape to initial size. Use “Mark All” and “Clean out” to mark and erase all cells.

All of these actions are unavailable during runtime.

Runtime

When you push “Run” or “Step” to launch PM, it instantiates with the current program version in text area, but not with last saved.

There are four exit messages:

You can also terminate the work anytime. This operation returns the tape to its initial state.

There are two execution modes: Delay, when the worker “spends” on each step a certain time, and Bulk, suitable for very long tasks.

If you haven’t found an answer to your question on the PostMDev program, please ask it by e-mail.