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 |
|
PaddiM8
|
e30fdf9cc1
|
Fixed angle unit conversion.
|
2020-06-04 14:50:22 +02:00 |
|
PaddiM8
|
93321c3dac
|
Replaced f64 with rug::Float.
|
2020-06-04 14:46:45 +02:00 |
|
PaddiM8
|
0d2d6df85b
|
Added special function 'sum'.
|
2020-05-30 21:05:06 +02:00 |
|
PaddiM8
|
456b61bf08
|
Implemented factorial.
|
2020-05-30 20:28:13 +02:00 |
|
PaddiM8
|
dc59d7cac2
|
Added hyp function.
|
2020-05-30 18:01:45 +02:00 |
|
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 |
|