Dan Klishch
6ed069ea8d
JSSpecCompiler: Provide an adequate command line interface
2023-10-26 15:45:31 -06:00
Dan Klishch
c2c37de201
JSSpecCompiler: Support Cpp::StringLiteral in C++ AST converter
2023-10-26 10:57:03 +02:00
Dan Klishch
d7b4dc2a6a
JSSpecCompiler: Support Cpp::BinaryExpression in C++ AST converter
2023-10-26 10:57:03 +02:00
Dan Klishch
75fd28014c
JSSpecCompiler: Add converter from LibCpp's AST
...
This will effectively allow us to use C++ code as an input for the
compiler. This would be useful for testing, since otherwise we would
have had to specify tests as a spec-like XML, which is not exactly the
most developer-friendly experience.
2023-10-02 21:15:08 +02:00
Dan Klishch
326bac19d9
JSSpecCompiler: Make nodes inherit from Statement or Expression
...
The distinction between them will become important during CFG building.
2023-09-17 16:04:42 -06:00
Dan Klishch
092ed1cc8a
JSSpecCompiler: Allow storing NullableTree
s in nodes
...
And use this in ElseIfBranch node.
2023-09-09 11:20:43 -06:00
Dan Klishch
cd8f4aaa7d
JSSpecCompiler: Introduce Function and ExecutionContext classes
...
Currently, they are not extremely useful, but the plan is to store
all function-local state in JSSpecCompiler::Function and all
"translation unit" state in ExecutionContext.
2023-09-02 19:57:06 +02:00
Dan Klishch
db0a03d1fb
JSSpecCompiler: Add infrastructure to parse <emu-clause> into AST
2023-08-31 11:00:31 +02:00
Dan Klishch
f70e39d501
JSSpecCompiler: Add TextParser for converting algorithm steps into AST
2023-08-31 11:00:31 +02:00
Dan Klishch
9f29e04897
JSSpecCompiler: Add functions for splitting node contents into tokens
2023-08-31 11:00:31 +02:00
Dan Klishch
8342361481
JSSpecCompiler: Add Token type
2023-08-31 11:00:31 +02:00