|
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 |
|
|
f67b98d7a6
|
Add a parser struct.
|
2018-02-11 22:26:19 -08:00 |
|
|
37a6f31b5f
|
Start the overarching library code, and move result enum elsewhere.
|
2018-02-11 22:11:33 -08:00 |
|
|
e5351c17a2
|
Fix code to stick to proper naming convention.
|
2018-02-11 21:22:01 -08:00 |
|
|
732ff47f44
|
Add function to extract strings from tokens.
|
2018-02-11 13:42:05 -08:00 |
|
|
31329a13a6
|
Add initial code for statement parsing.
|
2018-02-10 23:06:47 -08:00 |
|
|
0958ecd1eb
|
Begin working on an initial implementation for the parser.
|
2018-02-10 22:40:34 -08:00 |
|
|
6d836a5513
|
Add parser state code and skeleton for the parsing procedure.
|
2018-02-10 22:22:51 -08:00 |
|
|
03f27bda18
|
Write a basic tree header file to hold the structure of the parsed code.
|
2018-02-10 22:15:51 -08:00 |
|
|
1a6a80d26b
|
Add the search feature.
|
2018-02-10 17:57:24 -08:00 |
|
|
a27bdc37f5
|
Begin working on a table struct to hold information during runtime.
|
2018-02-10 17:53:07 -08:00 |
|
|
3254f5741f
|
Add cast to libab_result in ll_foreach call.
|
2018-02-10 17:21:45 -08:00 |
|
|
d79d001013
|
Make sure matches come with correct types.
|
2018-02-10 17:21:32 -08:00 |
|
|
0e4d82ad44
|
Fix bad expression for numbers.
|
2018-02-10 17:21:16 -08:00 |
|
|
0ff71a9389
|
Implement lexing code.
|
2018-02-10 17:13:59 -08:00 |
|
|
065f2fa4b9
|
Use the new error code conversion code.
|
2018-02-10 16:02:22 -08:00 |
|
|
b46dccb70d
|
Add a utility header to convert error codes.
|
2018-02-10 16:01:08 -08:00 |
|
|
2db840288d
|
Implement the initialization and freeing of lexer.
|
2018-02-10 14:21:04 -08:00 |
|
|
10652048ab
|
Begin working on the lexer.
|
2018-02-10 13:57:16 -08:00 |
|
|
29ae1ce5b4
|
Add initial CMakeLists file.
|
2018-02-10 13:38:15 -08:00 |
|
|
16c25a33a5
|
Update submodules.
|
2018-02-08 19:18:11 -08:00 |
|
|
20cfb3967f
|
Add libds and liblex submodules.
|
2018-02-04 15:58:21 -08:00 |
|