|
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 |
|
|
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 |
|
|
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 |
|
|
2b0e0dd7d4
|
Create main source file.
|
2018-02-03 23:49:52 -08:00 |
|