PaddiM8
|
22d9f50688
|
Fixed function declarations not being parsed
|
2020-12-28 19:13:39 +01:00 |
|
PaddiM8
|
2908b735e5
|
Interpretation timeout
|
2020-12-28 19:09:21 +01:00 |
|
PaddiM8
|
2f7af7de90
|
Simple equation solving, mostly using pre-existing logic from the inverter
|
2020-12-14 19:21:30 +01:00 |
|
PaddiM8
|
a29e7492f9
|
v0.3.8
|
2020-12-14 00:07:19 +01:00 |
|
PaddiM8
|
38a65fe144
|
Added sum function to symbol_table::contains_fn
|
2020-12-13 23:47:44 +01:00 |
|
PaddiM8
|
0c7e694648
|
Fixed bug where symbol_table::contains_fn didn't check in the BINARY_FUNCS map
|
2020-12-13 23:44:33 +01:00 |
|
PaddiM8
|
ec74089faa
|
v0.3.7
|
2020-12-13 23:17:49 +01:00 |
|
PaddiM8
|
483e82fb03
|
Allow multiplication with parenthesis without star symbol
|
2020-12-13 23:16:47 +01:00 |
|
PaddiM8
|
4f02a0f0a3
|
Added 'Copy' to TokenKind, and added a missing line related to the sum function
|
2020-12-13 22:09:49 +01:00 |
|
PaddiM8
|
fbf901620f
|
User-configurable precision
|
2020-12-13 18:12:33 +01:00 |
|
PaddiM8
|
0ce06d96b9
|
Optimised 'sum' function
|
2020-12-13 17:45:06 +01:00 |
|
PaddiM8
|
1cbc5004d5
|
Allow spaces in input number literals
|
2020-12-13 16:44:45 +01:00 |
|
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
|
ac6bf052d7
|
removed un-used rug features
|
2020-12-11 13:17:33 +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
|
ea236f7e54
|
updated to 0.2.1
|
2020-12-09 09:40:26 +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
|
d3d2602217
|
Updated README with new features and updated version numbers.
|
2020-06-14 22:53:11 +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
|
7a4fefe1d0
|
Merge branch 'master' into units
|
2020-06-13 21:57:27 +02:00 |
|
PaddiM8
|
7b6f27186d
|
Publish.
|
2020-06-13 21:42:14 +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
|
ada3fc52f9
|
Trimmed end matches of dots in order to avoid numbers such as 1. .
|
2020-06-12 21:30:03 +02:00 |
|
PaddiM8
|
64083eca82
|
Updated crate versions (thought I did this in the previous commit??).
|
2020-06-12 21:27:01 +02:00 |
|
PaddiM8
|
039f79697d
|
Merge branch 'master' of https://github.com/PaddiM8/kalk
|
2020-06-12 21:01:12 +02:00 |
|
PaddiM8
|
6f935c1ea0
|
Changed kalk crate version.
|
2020-06-12 21:00:56 +02:00 |
|
PaddiM8
|
bf5d02907f
|
Updated example code in README.
|
2020-06-12 21:00:03 +02:00 |
|
PaddiM8
|
29960043b8
|
Version update test.
|
2020-06-12 18:16:54 +02:00 |
|
PaddiM8
|
f39e9d6c6c
|
Updated .travis.yml.
|
2020-06-12 16:10:32 +02:00 |
|
PaddiM8
|
2ccb439dec
|
Created a workspace Cargo.toml to unify the library and binary.
|
2020-06-12 14:11:42 +02:00 |
|
PaddiM8
|
7a0ede8dda
|
Fixed code in documentation in parser.rs
|
2020-06-12 14:10:10 +02:00 |
|
PaddiM8
|
11c7e5b287
|
Added example image and expanded feature list.
|
2020-06-12 00:34:50 +02:00 |
|
PaddiM8
|
1503336700
|
Added readme to Cargo.toml.
|
2020-06-12 00:08:14 +02:00 |
|
PaddiM8
|
88fd8d1bc1
|
Added separate readme for the library.
|
2020-06-12 00:06:54 +02:00 |
|
PaddiM8
|
fafc88f2d7
|
Added separate readme for the library.
|
2020-06-12 00:06:15 +02:00 |
|
PaddiM8
|
03d0ca23e9
|
Changed version number to 0.1.1
|
2020-06-11 23:53:04 +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
|
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 |
|