Crate cirru_parser[−][src]
Cirru Parser
This tiny parser parses indentation based syntax into nested a vector, then it could used as S-Expressions for evaluation or codegen.
defn fib (x)
if (<= x 2) 1
+
fib $ dec x
fib $ - x 2
parses to:
[ ["defn" "fib" [ "x" ]
[ "if" [ "<=" "x" "2" ] "1"
[ "+" [ "fib" ["dec" "x"] ] [ "fib" ["-" "x" "2"] ] ]
]
] ]
find more on http://text.cirru.org/ .
Structs
CirruWriterOptions | options for writer, |
Enums
CirruLexItem | internal control item during lexing |
CirruNode | Cirru uses nested Vecters and Strings as data structure |
Functions
from_json_str | parse JSON string |
from_json_value | parse JSON |
lex | internal function for lexing |
parse | Deprecated |
parse_cirru | parse function, parse String to CirruNode. |
resolve_indentations | internal function for figuring out indentations after lexing |
to_json_str | generates JSON string from Cirru Data |
to_json_value | generates JSON from Cirru Data |
write_cirru | format Cirru code, use options to control |
Type Definitions
CirruLexItemList |