Commit Graph

29 Commits

Author SHA1 Message Date
bakk
e07c5e5339 Added prod function and proper sum symbol 2021-06-01 15:52:41 +02:00
bakk
5b8ad2829c Implemented piecewise 2021-05-31 18:55:37 +02:00
bakk
fe50789cbd Comparison operators and Iverson brackets 2021-05-31 13:46:06 +02:00
bakk
2573ae16e2 Fixed new lines being parsed as numbers 2021-05-30 19:11:25 +02:00
bakk
2636f51077 Lex special symbols as one token 2021-05-18 17:49:31 +02:00
bakk
15c30cfeee Basics of derivation
Derivation implemented for function calls (only). Eg. f'(2). It is not
yet possible to do something like f''(2), but this should be implemented
in the future. It should also be possible to derive normal expressions,
but this is not yet possible.
2021-05-17 20:36:53 +02:00
bakk
0c454fb6f4 Lex '**' as power sign 2021-05-17 18:14:48 +02:00
PaddiM8
dd63bace58 Removed regex dependency from kalk crate and made 'test-case' a dev-dependency 2021-01-03 00:07:30 +01:00
PaddiM8
efbeb0857f WebAssembly foundation 2020-12-30 22:50:39 +01:00
PaddiM8
c92512d79d Added 'Copy' to TokenKind, and added a missing line related to the sum function 2020-12-13 22:09:49 +01:00
PaddiM8
dd1b4d723f added percentage unit and modulo 2020-12-09 22:18:00 +01:00
PaddiM8
4d17210b49 allow letters after underscore in variables, eg. x_a 2020-12-09 10:47:46 +01:00
PaddiM8
f322bcbc7d fixed panic on trailing spaces 2020-12-09 09:36:49 +01:00
PaddiM8
1d93e60d91 Made lexer lex '°' as 'deg'. 2020-06-18 18:06:17 +02:00
PaddiM8
d041a28f1d Merge branch 'units' 2020-06-18 17:42:36 +02:00
PaddiM8
7f3fb7c045 Integrated the angle unit system with then new dynamic unit system. 2020-06-15 19:10:55 +02:00
PaddiM8
20f15619a2 Added semicolon support to combine several statements in one line. 2020-06-14 22:03:22 +02:00
PaddiM8
eb20aae16f Added the unit statement (very basic and experimental). 2020-06-13 16:19:32 +02:00
PaddiM8
98fc2bf151 Made the x_1 notation possible. 2020-06-09 14:59:29 +02:00
PaddiM8
995897fc25 Fixed lexer not ignoring whitespace properly. 2020-06-09 10:34:39 +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
f6b7dce791 Added position data to tokens. 2020-06-06 20:15:32 +02:00
PaddiM8
f1d09ae799 Changed lexer to allow whitespace between number literal. 2020-06-05 17:18:36 +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
PaddiM8
0d33efbf63 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