Commit Graph

222 Commits

Author SHA1 Message Date
PaddiM8
03d0ca23e9 Changed version number to 0.1.1 2020-06-11 23:53:04 +02:00
PaddiM8
36e1ffa4d3 Merge branch 'master' of https://github.com/PaddiM8/kalk 2020-06-11 23:52:16 +02:00
PaddiM8
aa21581cf0 Changed 'parsers' category to 'parser-implementations' 2020-06-11 23:52:12 +02:00
PaddiM8
f9283be74d Changed Cargo.toml to prepare for publish. 2020-06-11 23:47:03 +02:00
PaddiM8
3fad899daa Extended parser::eval and parser::parse documentation by explaining when None is returned. 2020-06-11 23:45:54 +02:00
PaddiM8
387a2ede3f
Update README.md 2020-06-11 23:39:40 +02:00
PaddiM8
8c67e02618
Merge pull request #1 from PaddiM8/add-license-1
Create LICENSE
2020-06-11 23:38:21 +02:00
PaddiM8
4101ffa250
Create LICENSE 2020-06-11 23:38:03 +02:00
PaddiM8
c42fcccabd Added simple documentation for the exposed parts. 2020-06-11 23:09:44 +02:00
PaddiM8
72baaf3e36 Added test_undefined_fn for the interpreter. 2020-06-11 22:14:43 +02:00
PaddiM8
4e2fe9eb3b Added test_fn and test_sum_fn for the interpreter. 2020-06-11 22:10:23 +02:00
PaddiM8
b3e07b710e Renamed symbol_table::contains_func to contains_fn. 2020-06-11 21:47:14 +02:00
PaddiM8
0786398d52 Made the ast module public. 2020-06-10 14:02:33 +02:00
PaddiM8
42a9e7e82a Renamed parser::parse to parser::eval and created a new parser::parse function that does not evalutate the statements. 2020-06-10 13:55:43 +02:00
PaddiM8
b4f129835a Added gamma function. 2020-06-09 20:50:05 +02:00
PaddiM8
e3b4e4e4f2 Removed history linting. 2020-06-09 16:41:04 +02:00
PaddiM8
e665564a6f Added gamma function. 2020-06-09 15:53:29 +02:00
PaddiM8
88d0c7c523 Made the highlighter code cleaner by unifying the regular expressions into one. 2020-06-09 15:43:53 +02:00
PaddiM8
c6f60748e2 Made the x_1 notation possible. 2020-06-09 14:59:29 +02:00
PaddiM8
0ab31c18cb Made it possible to load an input file (with variables and functions). 2020-06-09 14:20:40 +02:00
PaddiM8
f8ef60b336 Added parenthesis to sum completion. 2020-06-09 10:37:57 +02:00
PaddiM8
cb1dbada71 Added completions for sum and parenthesis. 2020-06-09 10:34:58 +02:00
PaddiM8
280654130d Fixed lexer not ignoring whitespace properly. 2020-06-09 10:34:39 +02:00
PaddiM8
d90bbf6112 Added completion for ceil and floor. 2020-06-08 21:58:55 +02:00
PaddiM8
4c4b4bfede Changed lexer source to a peekable iterator, resulting in (hopefully) proper UTF-8 support. 2020-06-08 21:51:45 +02:00
PaddiM8
1861ce0719 Somewhat fixed UTF-8 support in the lexer. 2020-06-07 19:48:52 +02:00
PaddiM8
c43696d1e4 Changed lexer to allow any symbol as identifier as long as it isn't already used for syntax. 2020-06-07 19:08:33 +02:00
PaddiM8
746acc7bcc Change hint highlight to gray. 2020-06-07 19:02:07 +02:00
PaddiM8
8d039afe22 Implemented simple syntax highlighting and symbol-completion. 2020-06-07 18:56:28 +02:00
PaddiM8
598e44ab1c Added position data to tokens. 2020-06-06 20:15:32 +02:00
PaddiM8
2074a5b15b Fixed output not displaying small-ish decimal numbers properly. 2020-06-06 17:20:40 +02:00
PaddiM8
c2e446576a Created CalcError enum and centralised error formatting into once place. 2020-06-06 16:28:48 +02:00
PaddiM8
7aececa9fb Added unit tests for unit, var, undefined var, and var decl for the interpreter. 2020-06-06 15:39:34 +02:00
PaddiM8
5b9e9849e8 Improved output. 2020-06-06 14:55:30 +02:00
PaddiM8
60384ca8a8 Added unit tests for literal, binary, and unary for the interpreter. 2020-06-05 21:57:20 +02:00
PaddiM8
5e1753410c Added unary expression unit test for the parser. 2020-06-05 19:03:16 +02:00
PaddiM8
f0889064b2 Changed lexer to allow whitespace between number literal. 2020-06-05 17:18:36 +02:00
PaddiM8
024a215a41 Removed trailing zeroes from results. 2020-06-05 17:06:24 +02:00
PaddiM8
a9c4a45465 Removed test_case from test_pow(). 2020-06-05 16:20:50 +02:00
PaddiM8
3cbf4e5b4a Added pow, var_decl, fn_decl, fn_call unit tests for the parser. 2020-06-05 16:18:29 +02:00
PaddiM8
7125b18853 Cleaned up redundant code and replaced compare_enums() with PartialEq. 2020-06-05 13:47:39 +02:00
PaddiM8
ecf54b8496 Set up foundation for parser unit testing and added test_var() and test_precedence() tests. 2020-06-05 13:36:11 +02:00
PaddiM8
48033a0b13 Added unit tests for lexer. 2020-06-04 21:53:45 +02:00
PaddiM8
4f1b8e104f Merge branch 'master' of https://github.com/PaddiM8/kalk 2020-06-04 20:09:50 +02:00
PaddiM8
3a8e939ac0 Removed self.advance() code duplication in lexer. 2020-06-04 20:09:43 +02:00
PaddiM8
2be0a5e551
Create README.md 2020-06-04 19:57:48 +02:00
PaddiM8
cbc0b340a1 Renamed to 'kalk'. 2020-06-04 19:43:43 +02:00
PaddiM8
bccbbee2c4 Created set_angle_unit() builder function for the parser context. 2020-06-04 18:56:49 +02:00
PaddiM8
1e5159f84f Separated some functionality in main.rs into output.rs and repl.rs. 2020-06-04 18:55:08 +02:00
PaddiM8
36ae7a0b90 Split it up into two parts: library and cli binary 2020-06-04 18:19:48 +02:00