Commit Graph

80 Commits

Author SHA1 Message Date
PaddiM8
73d2c1c99e Added completion for constants. 2020-06-12 00:49:50 +02:00
PaddiM8
2e2c068593 Expanded installation instructions to include cargo install. 2020-06-12 00:41:18 +02:00
PaddiM8
8b16e3cbd4 Added example image and expanded feature list. 2020-06-12 00:34:50 +02:00
PaddiM8
f5fe9c5180 Updated kalk_cli's Cargo.toml to use kalk from crates.io instead of a local version. 2020-06-12 00:14:28 +02:00
PaddiM8
059d8d4b17 Updated kalk_cli's Cargo.toml to prepare it for being published. 2020-06-12 00:13:05 +02:00
PaddiM8
50ba5f4d18 Added readme to Cargo.toml. 2020-06-12 00:08:14 +02:00
PaddiM8
22c5b0785c Added separate readme for the library. 2020-06-12 00:06:54 +02:00
PaddiM8
122aca4a97 Added separate readme for the library. 2020-06-12 00:06:15 +02:00
PaddiM8
0dc5bf9d30 Changed version number to 0.1.1 2020-06-11 23:53:04 +02:00
PaddiM8
f016d5129a Merge branch 'master' of https://github.com/PaddiM8/kalk 2020-06-11 23:52:16 +02:00
PaddiM8
9bf5ac209b Changed 'parsers' category to 'parser-implementations' 2020-06-11 23:52:12 +02:00
PaddiM8
cb1a7e921c Changed Cargo.toml to prepare for publish. 2020-06-11 23:47:03 +02:00
PaddiM8
4f9f8bc63e Extended parser::eval and parser::parse documentation by explaining when None is returned. 2020-06-11 23:45:54 +02:00
PaddiM8
bdf8410a66 Update README.md 2020-06-11 23:39:40 +02:00
PaddiM8
6dbcee4d21 Merge pull request #1 from PaddiM8/add-license-1
Create LICENSE
2020-06-11 23:38:21 +02:00
PaddiM8
b3e722c5b6 Create LICENSE 2020-06-11 23:38:03 +02:00
PaddiM8
46a27d4129 Added simple documentation for the exposed parts. 2020-06-11 23:09:44 +02:00
PaddiM8
0274721878 Added test_undefined_fn for the interpreter. 2020-06-11 22:14:43 +02:00
PaddiM8
125499065a Added test_fn and test_sum_fn for the interpreter. 2020-06-11 22:10:23 +02:00
PaddiM8
ffd26c1da9 Renamed symbol_table::contains_func to contains_fn. 2020-06-11 21:47:14 +02:00
PaddiM8
4fbb71f423 Made the ast module public. 2020-06-10 14:02:33 +02:00
PaddiM8
3ffd62c572 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
9ab0abf1b5 Added gamma function. 2020-06-09 20:50:05 +02:00
PaddiM8
2119864a45 Removed history linting. 2020-06-09 16:41:04 +02:00
PaddiM8
8d2e0b092b Added gamma function. 2020-06-09 15:53:29 +02:00
PaddiM8
a35bcc054a Made the highlighter code cleaner by unifying the regular expressions into one. 2020-06-09 15:43:53 +02:00
PaddiM8
98fc2bf151 Made the x_1 notation possible. 2020-06-09 14:59:29 +02:00
PaddiM8
5668a05227 Made it possible to load an input file (with variables and functions). 2020-06-09 14:20:40 +02:00
PaddiM8
6c9f0b10f3 Added parenthesis to sum completion. 2020-06-09 10:37:57 +02:00
PaddiM8
8d111d2fe2 Added completions for sum and parenthesis. 2020-06-09 10:34:58 +02:00
PaddiM8
995897fc25 Fixed lexer not ignoring whitespace properly. 2020-06-09 10:34:39 +02:00
PaddiM8
9495ab9f6e Added completion for ceil and floor. 2020-06-08 21:58:55 +02:00
PaddiM8
165df6d3f3 Changed lexer source to a peekable iterator, resulting in (hopefully) proper UTF-8 support. 2020-06-08 21:51:45 +02:00
PaddiM8
42524eefa3 Somewhat fixed UTF-8 support in the lexer. 2020-06-07 19:48:52 +02:00
PaddiM8
ce65eb79a8 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
3db7c215d3 Change hint highlight to gray. 2020-06-07 19:02:07 +02:00
PaddiM8
c1facbe6f1 Implemented simple syntax highlighting and symbol-completion. 2020-06-07 18:56:28 +02:00
PaddiM8
f6b7dce791 Added position data to tokens. 2020-06-06 20:15:32 +02:00
PaddiM8
aeed8049fc Fixed output not displaying small-ish decimal numbers properly. 2020-06-06 17:20:40 +02:00
PaddiM8
d0536d6bd6 Created CalcError enum and centralised error formatting into once place. 2020-06-06 16:28:48 +02:00
PaddiM8
4a02134b22 Added unit tests for unit, var, undefined var, and var decl for the interpreter. 2020-06-06 15:39:34 +02:00
PaddiM8
25dcc81bad Improved output. 2020-06-06 14:55:30 +02:00
PaddiM8
3fda01e087 Added unit tests for literal, binary, and unary for the interpreter. 2020-06-05 21:57:20 +02:00
PaddiM8
2bacbf5c67 Added unary expression unit test for the parser. 2020-06-05 19:03:16 +02:00
PaddiM8
f1d09ae799 Changed lexer to allow whitespace between number literal. 2020-06-05 17:18:36 +02:00
PaddiM8
1056206d49 Removed trailing zeroes from results. 2020-06-05 17:06:24 +02:00
PaddiM8
e7cbbc45c2 Removed test_case from test_pow(). 2020-06-05 16:20:50 +02:00
PaddiM8
dab1006eb7 Added pow, var_decl, fn_decl, fn_call unit tests for the parser. 2020-06-05 16:18:29 +02:00
PaddiM8
98d4a16195 Cleaned up redundant code and replaced compare_enums() with PartialEq. 2020-06-05 13:47:39 +02:00
PaddiM8
4360f3f4ee Set up foundation for parser unit testing and added test_var() and test_precedence() tests. 2020-06-05 13:36:11 +02:00