Commit Graph

317 Commits

Author SHA1 Message Date
PaddiM8
0dac28bb42 Made it possible for the parser to parse combined variables, eg. xy, so that the user does not have to write the multiplication sign. 2020-05-30 17:56:16 +02:00
PaddiM8
01aa30c2c1 Made some of the error messages in the interpreter more specific. 2020-05-30 16:59:58 +02:00
PaddiM8
2b90620d83 Added some colours to the terminal output. 2020-05-30 15:59:25 +02:00
PaddiM8
036fadb041 Moved AST node enums and functions into their own file. 2020-05-30 15:27:58 +02:00
PaddiM8
41a41629a5 Implemented somewhat proper error handling for the interpreter. This involved removing the visitor. 2020-05-30 15:16:13 +02:00
PaddiM8
1a56ddac45 Separated match arms in the interpreter into their own functions. 2020-05-29 23:54:20 +02:00
PaddiM8
e29299bdfe Removed the warning suppressor, since it is not needed anymore. 2020-05-29 23:23:50 +02:00
PaddiM8
1c65fbed08 Refactored the parser
Added error checking to the parser and changed it from being a struct to
independent functions with a context struct instead.
2020-05-29 23:21:59 +02:00
PaddiM8
aacb787bce Added binary log function. 2020-05-29 22:04:40 +02:00
PaddiM8
34364dd40e Made parenthesis optional for unary functions
This only applies when the argument is a literal. To do this
efficiently, I changed the `prelude` module. The module now has
compile-time generated hashmaps of functions.
2020-05-29 21:35:59 +02:00
PaddiM8
2cdade5d05 Removed the struct MathParser. The regular Parser struct does does its job now. 2020-05-29 19:30:43 +02:00
PaddiM8
dfd8e4ff64 Improved REPL by using the rustyline crate. 2020-05-29 15:56:01 +02:00
PaddiM8
7c42368501 Added binary functions to the prelude. 2020-05-29 15:04:50 +02:00
PaddiM8
32cd3a4e9e Completed the parsing of multi-parameter functions. It now works! 2020-05-29 14:49:52 +02:00
PaddiM8
6d67797565 Prepared for supporting multiple function arguments. The types now support several arguments, and the only thing left is to parse this. 2020-05-29 00:27:08 +02:00
PaddiM8
94722ed27e Fixed function declarations not parsing properly. 2020-05-28 23:56:09 +02:00
PaddiM8
70d2913cb9 Initial commit 2020-05-28 23:46:35 +02:00