Pipe-calculus: Difference between revisions

Line 26: Line 26:
* <code>match s</code> expects that the next symbol of the input stream is <code>s</code>. On failure the current branch of the program is aborted.
* <code>match s</code> expects that the next symbol of the input stream is <code>s</code>. On failure the current branch of the program is aborted.
* <code>write s</code> appends the symbol <code>s</code> to the output stream.
* <code>write s</code> appends the symbol <code>s</code> to the output stream.
* <code>run x</code> runs a program given its name.
* <code>run x</code> recursively runs a routine given its name.
* <code>p ; q</code> runs <code>p</code> then runs <code>q</code> unless <code>p</code> fails.
* <code>p ; q</code> runs <code>p</code> then runs <code>q</code> unless <code>p</code> fails.
* <code>p | q</code> forks the execution of the program so that one branch runs <code>p</code>, another branch runs <code>q</code>, sharing the same input stream.
* <code>p | q</code> forks the execution of the program so that one branch runs <code>p</code>, another branch runs <code>q</code>, sharing the same input stream.
283

edits