|
1d0ea602a5
|
Make expression parsing parse more valid syntax.
|
2018-02-27 11:45:51 -08:00 |
|
|
c8ec93880e
|
Add a macro to considerably simplify child parsing code.
|
2018-02-27 11:29:59 -08:00 |
|
|
127a59ba50
|
Add comments to the debug header.
|
2018-02-27 11:08:14 -08:00 |
|
|
08513a2315
|
Add function to print to file.
|
2018-02-26 18:14:31 -08:00 |
|
|
2823b0b66b
|
Fix bug in order of operations processing.
|
2018-02-26 13:51:37 -08:00 |
|
|
65071d47b3
|
Add a function to print the parse tree.
|
2018-02-25 23:09:35 -08:00 |
|
|
c18a5e49de
|
Add the call node as one of the nodes that contains a vector.
|
2018-02-25 23:09:13 -08:00 |
|
|
88108bb3c0
|
Make the has string and has vector functions public.
|
2018-02-25 22:57:45 -08:00 |
|
|
52ac67026f
|
Remove function tokens. If functions are first class, they're variables.
|
2018-02-25 14:12:34 -08:00 |
|
|
7a84babf1e
|
Add basic function call parsing.
|
2018-02-24 20:08:17 -08:00 |
|
|
052fc5b943
|
Fix bugs in the if-statement parser.
|
2018-02-24 20:07:54 -08:00 |
|
|
b19adef236
|
Abstract creating nodes with both strings and vectors.
|
2018-02-24 20:07:44 -08:00 |
|
|
d26cb6283c
|
Fix bug causing incorrect postfix parsing.
|
2018-02-21 19:16:42 -08:00 |
|
|
a3e1fdd46e
|
Clean up code in places suggested by static analysis.
|
2018-02-21 19:06:00 -08:00 |
|
|
0541c18a91
|
Fix bug causing the free function miss freeing a vector.
|
2018-02-21 19:00:04 -08:00 |
|
|
6c111f9b67
|
Fix another unnecessary free bug.
|
2018-02-21 18:58:32 -08:00 |
|
|
160c0a93da
|
Make token reporting work for EOF.
|
2018-02-21 18:55:05 -08:00 |
|
|
919cfb495c
|
Fix segmentation fault causing bugs.
|
2018-02-21 18:54:52 -08:00 |
|
|
e5c2570bac
|
Implement parsing if expressions.
|
2018-02-20 16:38:02 -08:00 |
|
|
8c8e84b10d
|
Fix bug causing spaces and newlines to remain in source.
|
2018-02-20 16:37:37 -08:00 |
|
|
a7c49192fb
|
Use the new utility functions.
|
2018-02-20 13:24:21 -08:00 |
|
|
f8d07350a7
|
Implement functions to help with allocation.
|
2018-02-20 13:11:40 -08:00 |
|
|
8ffcbb0ee2
|
Make blocks expressions, and add implicit void expression at block ends.
|
2018-02-18 21:05:06 -08:00 |
|
|
987027c4fc
|
Revert "Allow last expression in code to not be terminated by a semicolon."
12660b1e4a
|
2018-02-18 20:05:15 -08:00 |
|
|
96b2dc234f
|
Remove currently unused node types from the tree code.
|
2018-02-18 19:42:54 -08:00 |
|
|
12660b1e4a
|
Allow last expression in code to not be terminated by a semicolon.
|
2018-02-18 19:02:06 -08:00 |
|
|
c7aa521b19
|
Change function name a little.
|
2018-02-17 21:33:33 -08:00 |
|
|
71f7711f92
|
Add sanitization of operators.
|
2018-02-17 20:31:30 -08:00 |
|
|
2e89a338df
|
Rearrange parsing code for clarity.
|
2018-02-17 20:16:50 -08:00 |
|
|
7cee06131e
|
Free table entries when the table is released.
|
2018-02-17 19:56:18 -08:00 |
|
|
07284d1fb2
|
Add a table entry free function.
|
2018-02-17 19:53:33 -08:00 |
|
|
72d60855c2
|
Implement storing expressions into block.
|
2018-02-17 19:52:40 -08:00 |
|
|
811704be25
|
Add a recursive tree freeing function.
|
2018-02-17 19:20:10 -08:00 |
|
|
a52735f0b3
|
Finish the "construct tree" part of Shunting Yard.
|
2018-02-17 19:08:35 -08:00 |
|
|
68b4fb5807
|
Complete the "rearrange" part of Shunting Yard in the parser.
|
2018-02-17 16:01:21 -08:00 |
|
|
b1aa2a4bf5
|
Implement associativity storage for operators.
|
2018-02-17 16:00:39 -08:00 |
|
|
bf3c90bed2
|
Begin the shunting-yard implementation.
|
2018-02-17 14:40:43 -08:00 |
|
|
101847e70d
|
Implement function to pop things off the stack until parenth.
|
2018-02-17 14:40:30 -08:00 |
|
|
1157b126ca
|
Add function to create a new op node and push it to a list.
|
2018-02-17 14:04:59 -08:00 |
|
|
aef84d0548
|
Remove now-gone tokens from the parser.
|
2018-02-17 14:02:10 -08:00 |
|
|
8cd1d23120
|
Add functions to separately register different types of operators.
|
2018-02-17 14:01:48 -08:00 |
|
|
a3ce8fbd9c
|
Tone down the current token list, in favor of adding them later.
|
2018-02-17 13:32:55 -08:00 |
|
|
841c2f15e5
|
Add function to free tree nodes.
|
2018-02-17 12:55:50 -08:00 |
|
|
ab683cbd7a
|
Add function to construct an operator tree node from a token.
|
2018-02-15 23:12:47 -08:00 |
|
|
e11f56ee68
|
Add utility function to check if token is an operator.
|
2018-02-15 23:11:25 -08:00 |
|
|
ee19f55058
|
Implement convenience functions for looking up the implemented entries.
|
2018-02-11 23:00:07 -08:00 |
|
|
8b13b9a735
|
Implement functions to register operators and functions into libabacus.
|
2018-02-11 22:50:44 -08:00 |
|
|
72be209f0f
|
Implement two entry types and a function to store entries in table.
|
2018-02-11 22:50:08 -08:00 |
|
|
3de3f1ec00
|
Move structs used to hold custom operators and functions into new header
|
2018-02-11 22:38:40 -08:00 |
|
|
74034c7b76
|
Rename header files.
|
2018-02-11 22:32:42 -08:00 |
|