Commit Graph

29 Commits

Author SHA1 Message Date
bakk
1f6b59bdae Added prod function and proper sum symbol 2021-06-01 15:52:41 +02:00
bakk
cf869358f2 Implemented piecewise 2021-05-31 18:55:37 +02:00
bakk
2910227ce9 Comparison operators and Iverson brackets 2021-05-31 13:46:06 +02:00
bakk
a679e10bfa Fixed new lines being parsed as numbers 2021-05-30 19:11:25 +02:00
bakk
8399d810d8 Lex special symbols as one token 2021-05-18 17:49:31 +02:00
bakk
7a56322e0f 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
455db4f0f1 Lex '**' as power sign 2021-05-17 18:14:48 +02:00
PaddiM8
c0210d7c3f Removed regex dependency from kalk crate and made 'test-case' a dev-dependency 2021-01-03 00:07:30 +01:00
PaddiM8
72cea91394 WebAssembly foundation 2020-12-30 22:50:39 +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
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
b966658fa7 Merge branch 'units' 2020-06-18 17:42:36 +02:00
PaddiM8
83668bbb84 Integrated the angle unit system with then new dynamic unit system. 2020-06-15 19:10:55 +02:00
PaddiM8
80690a5575 Added semicolon support to combine several statements in one line. 2020-06-14 22:03:22 +02:00
PaddiM8
45adb1b526 Added the unit statement (very basic and experimental). 2020-06-13 16:19:32 +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
f0889064b2 Changed lexer to allow whitespace between number literal. 2020-06-05 17:18:36 +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