Ian Piumarta
88af7147a0
Remove stale ccmeta-input.txt.
2 anni fa
Ian Piumarta
c4d102b983
Add boot and library meta code.
2 anni fa
Ian Piumarta
1b95e5d057
Update author information.
2 anni fa
Ian Piumarta
5f8587455e
README.md is a symlink to the one in doc.
2 anni fa
Ian Piumarta
b86284cba0
Add parsimony tests.
2 anni fa
Ian Piumarta
eee8515a82
Add C metaprogramming examples.
2 anni fa
Ian Piumarta
2e946ae721
Add documentation directory.
2 anni fa
Ian Piumarta
0e94f5fa51
Don't run parsimony tests if the dir is missing.
Don't run expected error tests at all.
2 anni fa
Ian Piumarta
6145288153
Add some typedefs to proceed past non-inclusion of header files.
2 anni fa
Ian Piumarta
91d5e4af0b
Ignore more junk.
2 anni fa
Ian Piumarta
f6dab4a73f
Add flags to support compilation with Homebrew libgc.
2 anni fa
Ian Piumarta
e6221cd68a
Handle string and stringLiteral properly in outputNode.
Update meta grammar and C grammar hooks.
Add unquote mechanism.
2 anni fa
Ian Piumarta
720c2c141d
Export prim_parseFrom to meta language.
2 anni fa
Ian Piumarta
2f2f27ccf0
Record function definitions in program.last map.
2 anni fa
Ian Piumarta
8845a0baba
Add keyword arguments to newCall, meta grammar, and t_Call case of evaluator.
2 anni fa
Ian Piumarta
4413adc94d
Use C_string for multi character sequences.
Use C_StringLiteral for multi part string literals and C_string for each part.
2 anni fa
Ian Piumarta
20a3d6d17b
Add everyExternalDeclaration() and ensure().
2 anni fa
Ian Piumarta
3a14858a70
Make yy context be local.
Add input struct pointer to yy context object.
Returning multiple objects from meta function appends them all to program.
Meta import via read-eval-print instead of changing input file pointer.
Add treeCopy and treeCopyUnquoting functions.
Add primitive treeCopy.
2 anni fa
Ian Piumarta
516867784d
Add global parsimony variables to track struct/union/enum declarations.
2 anni fa
Ian Piumarta
79a457b358
Cosmetic.
2 anni fa
Ian Piumarta
c2ede14d6a
Add prim_treeCopy primitive; move some functions to before the grammar.
2 anni fa
Ian Piumarta
9060483dbd
Move meta language environment initialisation out of main() to init().
2 anni fa
Ian Piumarta
d22ed02e77
Remove debugging printf.
2 anni fa
Ian Piumarta
8f69c6f81d
Reorganise grammar putting common rules at the end.
C and meta have their own space rules - and --.
2 anni fa
Ian Piumarta
7b881478fd
Add names of rules as comments after section numbers for navigation.
2 anni fa
Ian Piumarta
d9f06de063
Eval handles Undefined and Function in switch to avoid compiler warning.
2 anni fa
Ian Piumarta
238cce2151
Add map_pop to remove the last element from an array-like map.
2 anni fa
Ian Piumarta
eb85a1fb75
Compare symbols by their name not by their address to prevent non-determinism.
2 anni fa
Ian Piumarta
886cf28409
Clean also removes dSYM directories.
2 anni fa
Ian Piumarta
51d648e7e1
Move source files into src subdir.
Makefile cleans dSYM directories.
2 anni fa
Ian Piumarta
fdcbaeef72
Reorganise test directories.
2 anni fa
Ian Piumarta
7b886f8036
add slices and additional constructors for: array map symbol string
2 anni fa
Ian Piumarta
6ffcae2eab
remove is_C_keyword flag from Symbol payload; add is_C_keyword() function
2 anni fa
Nathan R
4b9d58177b
fixed tree identation for meta nodes
3 anni fa
Nathan R
392a8bea7d
new input file with dynamic C expression
3 anni fa
Nathan R
828912aa81
last day modifications, more incoming
3 anni fa
Nathan R
165efe942e
fixed identation and added a way to know if a list is empty
3 anni fa
Nathan R
a0ce191245
corrected some bugs with the - (blank) rule
3 anni fa
Nathan R
c0c4334e85
added a way to print all the tree
3 anni fa
Nathan R
ad1111a9b6
added a way to print meta nodes, some nodes are missing but most of it is there
3 anni fa
Nathan R
6261f1e872
fixed output
3 anni fa
Nathan R
42fe9fbe10
removed meta.leg
3 anni fa
Ian Piumarta
695a9d39df
allow C and meta to coexist; add @ prefix for meta statements in grammar.
3 anni fa
Nathan R
7f71bb9df8
added meta rules, new.txt passes TODO : fix assterion line 3291
3 anni fa
Nathan R
4a62df2613
added meta.leg with all rules refactored
3 anni fa
Nathan R
2b5abcd4c4
typo
3 anni fa
Nathan R
31f4d9ed14
updated grammar + added some types
3 anni fa
Nathan R
9a08ccd4d0
updated comments
3 anni fa
Nathan R
ecb8b27650
updated dotest
3 anni fa
Nathan R
50cddd1fd7
input updated
3 anni fa