No description
decks | ||
examples | ||
imgs | ||
compiler.lua | ||
main.lua | ||
parser.lua | ||
pprint.lua | ||
README.md | ||
syntax.lua |
A nova compiler and front end design to have a simple and extensible parser. Wul can compile program into Lua. Designed with LuaJIT in mind.
Example
The following is Wul's default syntax:
= = @rpn ( 3 4 dup * swap dup * swap + sqrt print )
= @rpn dup . @rpn.data $ =
@rpn.data ( $ $ )
= @rpn swap . @rpn.data ( $x $y ) =
@rpn.data ( $y $x )
= @rpn * . @rpn.data ( $y $x ) =
@rpn.data $z . @code [$z = $x * $y]
= @rpn + . @rpn.data ( $y $x ) =
@rpn.data $z . @code [$z = $x + $y]
= @rpn sqrt . @rpn.data $x =
@rpn.data $y . @code [$y = math.sqrt(tonumber($x))]
= @rpn print . @rpn.data $x =
@code [print($x)]
= @rpn $x =
@rpn.data $x