Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

pasukon

< >

pasukon is a grammar language created in 2020 by Federico Ramirez.

#1197on PLDB 4Years Old
Download source code:
git clone https://github.com/gosukiwi/Pasukon
Homepage · REPL · Source Code

JavaScript practical parser generator library using combinators


Example from the web:
lex match NUMBER /[0-9]+(?:\.[0-9]+)?/ match PLUS '+' match MINUS '-' match TIMES '*' match DIV '/' match POPEN '(' match PCLOSE ')' ignore WHITESPACE /^\s+/ /lex addition | (subtraction as :lhs) then :PLUS then (subtraction as :rhs) |> 'return $.lhs + $.rhs' | subtraction ; subtraction | (multiplication as :lhs) then :MINUS then (multiplication as :rhs) |> 'return $.lhs - $.rhs' | multiplication ; multiplication | (division as :lhs) then :TIMES then (division as :rhs) |> 'return $.lhs * $.rhs' | division ; division | (expression as :lhs) then :DIV then (expression as :rhs) |> 'return $.lhs / $.rhs' | expression ; expression | :POPEN then (addition as :expr) then :PCLOSE |> 'return $.expr' | number ; number | :NUMBER 'return +$1' ; start | addition ;

- Build the next great programming language · Add · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v164.7.0