PaddiM8
|
720a4da283
|
Fixed constant rounding
|
2020-12-13 15:53:38 +01:00 |
|
PaddiM8
|
56145c2f45
|
Store number literals as f64
|
2020-12-13 15:52:22 +01:00 |
|
PaddiM8
|
4ddb2bf33f
|
Moved some unit logic into kalk_num
|
2020-12-13 15:31:11 +01:00 |
|
PaddiM8
|
bd86091e89
|
Trimming zeroes at the start of scientific notation, and scientific notation exponent value fix
|
2020-12-13 02:25:33 +01:00 |
|
PaddiM8
|
318e8b85ee
|
Fixed tests
|
2020-12-13 02:11:19 +01:00 |
|
PaddiM8
|
0284475b2c
|
Created KalkNum and moved output formatting from kalk_cli to kalk
|
2020-12-13 01:27:55 +01:00 |
|
PaddiM8
|
035ecafe7b
|
replaced phf with lazy_static
|
2020-12-10 23:40:29 +01:00 |
|
PaddiM8
|
ffe9ab860d
|
updated test_percent()
|
2020-12-10 15:13:02 +01:00 |
|
PaddiM8
|
fefacbc02c
|
fixed multiplication with percent
|
2020-12-10 09:27:19 +01:00 |
|
PaddiM8
|
cebe785b22
|
added percentage unit and modulo
|
2020-12-09 22:18:00 +01:00 |
|
PaddiM8
|
8e3016e9fe
|
allow letters after underscore in variables, eg. x_a
|
2020-12-09 10:47:46 +01:00 |
|
PaddiM8
|
3ece6ee5c2
|
fixed panic on trailing spaces
|
2020-12-09 09:36:49 +01:00 |
|
PaddiM8
|
6e40612a46
|
Made lexer lex '°' as 'deg'.
|
2020-06-18 18:06:17 +02:00 |
|
PaddiM8
|
2c3f70e3f2
|
Fixed merge issues, updated version numbers, and updated README with syntax instructions.
|
2020-06-18 18:03:40 +02:00 |
|
PaddiM8
|
b966658fa7
|
Merge branch 'units'
|
2020-06-18 17:42:36 +02:00 |
|
PaddiM8
|
49e4d286b3
|
Added units to prelude functions.
|
2020-06-18 17:41:57 +02:00 |
|
PaddiM8
|
2413ad080f
|
Fixed parser documentation and interpreter units tests.
|
2020-06-18 17:06:21 +02:00 |
|
PaddiM8
|
f3b78e74f2
|
Created unit convertion expression. Syntax: <expr> to <unit>
|
2020-06-18 16:58:01 +02:00 |
|
PaddiM8
|
aa0e62af4c
|
Changed nth_sqrt to nth_root.
|
2020-06-18 16:20:52 +02:00 |
|
PaddiM8
|
1fdfcc29c1
|
Implemented inversion for some prelude functions.
|
2020-06-18 16:20:18 +02:00 |
|
PaddiM8
|
a2376c9998
|
Made the unit be displayed in the result.
|
2020-06-18 02:02:48 +02:00 |
|
PaddiM8
|
f917b744b5
|
Added UnsupportedExpression errors.
|
2020-06-17 21:28:54 +02:00 |
|
PaddiM8
|
643509ce4a
|
Fixed inversion for (function) variables and added unit tests for the inverter.
|
2020-06-17 17:45:46 +02:00 |
|
PaddiM8
|
c86b4bc2f7
|
Fixed the broken unit tests in the parser and completed the test_angle_units test in the interpreter.
|
2020-06-15 21:30:52 +02:00 |
|
PaddiM8
|
83668bbb84
|
Integrated the angle unit system with then new dynamic unit system.
|
2020-06-15 19:10:55 +02:00 |
|
PaddiM8
|
4859d78014
|
Added ans variable.
|
2020-06-14 22:33:29 +02:00 |
|
PaddiM8
|
80690a5575
|
Added semicolon support to combine several statements in one line.
|
2020-06-14 22:03:22 +02:00 |
|
PaddiM8
|
1d19f40e9f
|
Added support for 'minus' expressions in the inverter and added some comments.
|
2020-06-14 21:54:39 +02:00 |
|
PaddiM8
|
f3c42fb95a
|
Added support for 'minus' expressions in the inverter and added some comments.
|
2020-06-14 21:35:56 +02:00 |
|
PaddiM8
|
4c34908368
|
Changed inverter to instead move expressions to the LHS, like done when equations are solved in maths. Also made it multiply into parenthesis.
|
2020-06-14 19:23:02 +02:00 |
|
PaddiM8
|
6e81ea5ae1
|
Added some error checking to the inverter.
|
2020-06-13 22:18:37 +02:00 |
|
PaddiM8
|
05bfabb1d4
|
Made it possible for the inverter to invert expressions with function calls.
|
2020-06-13 20:06:21 +02:00 |
|
PaddiM8
|
71df9f5454
|
Created the foundation of an expression inverter. This is used to create a second *inverted* unit declaration, in order to cover both of the units.
|
2020-06-13 19:01:33 +02:00 |
|
PaddiM8
|
45adb1b526
|
Added the unit statement (very basic and experimental).
|
2020-06-13 16:19:32 +02:00 |
|
PaddiM8
|
7a0ede8dda
|
Fixed code in documentation in parser.rs
|
2020-06-12 14:10:10 +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
|
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
|
c6f60748e2
|
Made the x_1 notation possible.
|
2020-06-09 14:59:29 +02:00 |
|
PaddiM8
|
280654130d
|
Fixed lexer not ignoring whitespace properly.
|
2020-06-09 10:34:39 +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
|
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
|
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
|
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
|
3a8e939ac0
|
Removed self.advance() code duplication in lexer.
|
2020-06-04 20:09:43 +02:00 |
|
PaddiM8
|
cbc0b340a1
|
Renamed to 'kalk'.
|
2020-06-04 19:43:43 +02:00 |
|