Skip navigation.

The whole Enchilada

A sequence of thought

release 0.4

This release includes a fresh new parser that can accept both vanilla and canonical input (and a lot more).

The first noticable additions is that the output of the interpreter can be put in several modes (thanks to Stevan Apter). The default mode is without tracing and with simple syntax.

The following example shows that the parser can accept the inter-mixing of vanilla, keyword and canonical syntax:

> [()()] [();()] [cat;*;div;divide]

2 3 [+;*;/;/]

Slightly the same example but now with tracing and medium verbosity:

> \otm [()()] [();()] [cat;*;div;divide] !

0: 2 3 [cat;mul;div;div] lft

1: 2 3 cat mul div div

2: 5 mul div div

You can persistently set tracing (or any other mode) if you don't posfix the mode with an expression.

> \ot (o)utput (t)racing

> \ovt (o)utput (v)erbose (t)racing

> \om (o)utput (m)edium-verbosity

> \ost (o)utput (s)tandard (t)racing

If you want to see what are the possible symbols, keywords etc, you just create syntactical nonsense, giving you all possibilities:

> (

org.enchilada.v0_4.impl.io.ParseException: Encountered "(" at line 1, column 1.

Was expecting one of:

<EOF>

"[" ...

<NUM> ...

"\n" ...

"\\o" ...

"_" ...

etc, etc, etc

The new release also (slightly) redefines multiplication and division so that is it more in line with the Cartesian product. I've updated the documentation accordingly, together with the discussion of negative signed lists.

If you want to run the latest version please download the jar.

Then run the following command-line:

java -cp enchilada_v0_4.jar org.enchilada.v0_4.impl.Test2

Jekyll and HydeReduction order and non-determinism

Write a comment

You must be logged in to write a comment. If you're not a registered member, please sign up.

January 2010
S M T W T F S
December 2009February 2010
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30