Commit graph

19 commits

Author SHA1 Message Date
04a2c6237e
meta: add gitignore to filter-out all Python things 2023-05-09 01:56:41 +02:00
223c3be819
nodes+parser+semantic+ir: add variables
References + assignments
2023-05-09 01:54:47 +02:00
e9324f4f71
errors: init dedicated error file 2023-05-09 01:51:52 +02:00
4bc481ed54
ir+semantic: init intermediate representation generation 2023-05-08 23:14:53 +02:00
caffa92c1e
nodes: add source location to AST nodes 2023-05-08 23:13:00 +02:00
585910a60b
main: only print tokens if in debug mode 2023-05-08 23:10:45 +02:00
bd402beba7
source: add ordering to Location 2023-05-08 23:10:02 +02:00
5b3f0262a7
parser: add UnexpectedTokenError 2023-05-08 20:30:51 +02:00
1f21bcc89f
nodes: implement pretty printing 2023-05-08 19:29:20 +02:00
be9f389159
nodes+parser: refactor parsing of terms and factors
Make a distinction between Summation, Subtraction, Product and Division.
Also distinguish Integers and Floats
2023-05-08 19:29:20 +02:00
fd13900e9b
main+parser: greatly improve error reporting 2023-05-08 19:29:20 +02:00
272bed25b9
tokenizer: match newlines and improve location information
Use the generated newline tokens to know at what line a token is located.
2023-05-08 19:29:19 +02:00
86457c6972
tokenizer: improve token representation when value is None 2023-05-08 19:29:19 +02:00
9258b98a9a
logger: rewrite logger module
Make logging interface more pythonic
2023-05-08 19:29:19 +02:00
820fa1760d
source: greatly improve location reporting for multi-line source extracts 2023-05-08 19:29:19 +02:00
fc9b6b30c6
parser: fully rewrite parsing
Use a simpler and more direct recursive descent method.
2023-05-08 19:29:18 +02:00
14813a8bdf
main: fix formatting of print results 2023-05-08 19:29:18 +02:00
6e2391f973
rules: pass evaluation depth as a parameter 2023-05-08 19:29:18 +02:00
3d15b6dd63
meta: initial commit 2023-05-08 19:29:17 +02:00