Commit Graph

  • c6f60748e2 Made the x_1 notation possible. PaddiM8 2020-06-09 14:59:29 +0200
  • 98fc2bf151 Made the x_1 notation possible. PaddiM8 2020-06-09 14:59:29 +0200
  • 0ab31c18cb Made it possible to load an input file (with variables and functions). PaddiM8 2020-06-09 14:20:40 +0200
  • 5668a05227 Made it possible to load an input file (with variables and functions). PaddiM8 2020-06-09 14:20:40 +0200
  • f8ef60b336 Added parenthesis to sum completion. PaddiM8 2020-06-09 10:37:57 +0200
  • 6c9f0b10f3 Added parenthesis to sum completion. PaddiM8 2020-06-09 10:37:57 +0200
  • cb1dbada71 Added completions for sum and parenthesis. PaddiM8 2020-06-09 10:34:58 +0200
  • 8d111d2fe2 Added completions for sum and parenthesis. PaddiM8 2020-06-09 10:34:58 +0200
  • 280654130d Fixed lexer not ignoring whitespace properly. PaddiM8 2020-06-09 10:34:39 +0200
  • 995897fc25 Fixed lexer not ignoring whitespace properly. PaddiM8 2020-06-09 10:34:39 +0200
  • d90bbf6112 Added completion for ceil and floor. PaddiM8 2020-06-08 21:58:55 +0200
  • 9495ab9f6e Added completion for ceil and floor. PaddiM8 2020-06-08 21:58:55 +0200
  • 4c4b4bfede Changed lexer source to a peekable iterator, resulting in (hopefully) proper UTF-8 support. PaddiM8 2020-06-08 21:51:45 +0200
  • 165df6d3f3 Changed lexer source to a peekable iterator, resulting in (hopefully) proper UTF-8 support. PaddiM8 2020-06-08 21:51:45 +0200
  • 1861ce0719 Somewhat fixed UTF-8 support in the lexer. PaddiM8 2020-06-07 19:48:52 +0200
  • 42524eefa3 Somewhat fixed UTF-8 support in the lexer. PaddiM8 2020-06-07 19:48:52 +0200
  • c43696d1e4 Changed lexer to allow any symbol as identifier as long as it isn't already used for syntax. PaddiM8 2020-06-07 19:08:33 +0200
  • ce65eb79a8 Changed lexer to allow any symbol as identifier as long as it isn't already used for syntax. PaddiM8 2020-06-07 19:08:33 +0200
  • 746acc7bcc Change hint highlight to gray. PaddiM8 2020-06-07 19:02:07 +0200
  • 3db7c215d3 Change hint highlight to gray. PaddiM8 2020-06-07 19:02:07 +0200
  • 8d039afe22 Implemented simple syntax highlighting and symbol-completion. PaddiM8 2020-06-07 18:56:28 +0200
  • c1facbe6f1 Implemented simple syntax highlighting and symbol-completion. PaddiM8 2020-06-07 18:56:28 +0200
  • 598e44ab1c Added position data to tokens. PaddiM8 2020-06-06 20:15:32 +0200
  • f6b7dce791 Added position data to tokens. PaddiM8 2020-06-06 20:15:32 +0200
  • 2074a5b15b Fixed output not displaying small-ish decimal numbers properly. PaddiM8 2020-06-06 17:20:40 +0200
  • aeed8049fc Fixed output not displaying small-ish decimal numbers properly. PaddiM8 2020-06-06 17:20:40 +0200
  • c2e446576a Created CalcError enum and centralised error formatting into once place. PaddiM8 2020-06-06 16:28:48 +0200
  • d0536d6bd6 Created CalcError enum and centralised error formatting into once place. PaddiM8 2020-06-06 16:28:48 +0200
  • 7aececa9fb Added unit tests for unit, var, undefined var, and var decl for the interpreter. PaddiM8 2020-06-06 15:39:34 +0200
  • 4a02134b22 Added unit tests for unit, var, undefined var, and var decl for the interpreter. PaddiM8 2020-06-06 15:39:34 +0200
  • 5b9e9849e8 Improved output. PaddiM8 2020-06-06 14:55:30 +0200
  • 25dcc81bad Improved output. PaddiM8 2020-06-06 14:55:30 +0200
  • 60384ca8a8 Added unit tests for literal, binary, and unary for the interpreter. PaddiM8 2020-06-05 21:57:20 +0200
  • 3fda01e087 Added unit tests for literal, binary, and unary for the interpreter. PaddiM8 2020-06-05 21:57:20 +0200
  • 5e1753410c Added unary expression unit test for the parser. PaddiM8 2020-06-05 19:03:16 +0200
  • 2bacbf5c67 Added unary expression unit test for the parser. PaddiM8 2020-06-05 19:03:16 +0200
  • f0889064b2 Changed lexer to allow whitespace between number literal. PaddiM8 2020-06-05 17:18:36 +0200
  • f1d09ae799 Changed lexer to allow whitespace between number literal. PaddiM8 2020-06-05 17:18:36 +0200
  • 024a215a41 Removed trailing zeroes from results. PaddiM8 2020-06-05 17:06:24 +0200
  • 1056206d49 Removed trailing zeroes from results. PaddiM8 2020-06-05 17:06:24 +0200
  • a9c4a45465 Removed test_case from test_pow(). PaddiM8 2020-06-05 16:20:50 +0200
  • e7cbbc45c2 Removed test_case from test_pow(). PaddiM8 2020-06-05 16:20:50 +0200
  • 3cbf4e5b4a Added pow, var_decl, fn_decl, fn_call unit tests for the parser. PaddiM8 2020-06-05 16:18:29 +0200
  • dab1006eb7 Added pow, var_decl, fn_decl, fn_call unit tests for the parser. PaddiM8 2020-06-05 16:18:29 +0200
  • 7125b18853 Cleaned up redundant code and replaced compare_enums() with PartialEq. PaddiM8 2020-06-05 13:47:39 +0200
  • 98d4a16195 Cleaned up redundant code and replaced compare_enums() with PartialEq. PaddiM8 2020-06-05 13:47:39 +0200
  • ecf54b8496 Set up foundation for parser unit testing and added test_var() and test_precedence() tests. PaddiM8 2020-06-05 13:36:11 +0200
  • 4360f3f4ee Set up foundation for parser unit testing and added test_var() and test_precedence() tests. PaddiM8 2020-06-05 13:36:11 +0200
  • 48033a0b13 Added unit tests for lexer. PaddiM8 2020-06-04 21:53:45 +0200
  • 0d33efbf63 Added unit tests for lexer. PaddiM8 2020-06-04 21:53:45 +0200
  • 4f1b8e104f Merge branch 'master' of https://github.com/PaddiM8/kalk PaddiM8 2020-06-04 20:09:50 +0200
  • 75cb4a9d19 Merge branch 'master' of https://github.com/PaddiM8/kalk PaddiM8 2020-06-04 20:09:50 +0200
  • 3a8e939ac0 Removed self.advance() code duplication in lexer. PaddiM8 2020-06-04 20:09:43 +0200
  • 2be0a5e551
    Create README.md PaddiM8 2020-06-04 19:57:48 +0200
  • d4cd8a59bf Create README.md PaddiM8 2020-06-04 19:57:48 +0200
  • cbc0b340a1 Renamed to 'kalk'. PaddiM8 2020-06-04 19:43:43 +0200
  • bccbbee2c4 Created set_angle_unit() builder function for the parser context. PaddiM8 2020-06-04 18:56:49 +0200
  • 1e5159f84f Separated some functionality in main.rs into output.rs and repl.rs. PaddiM8 2020-06-04 18:55:08 +0200
  • 36ae7a0b90 Split it up into two parts: library and cli binary PaddiM8 2020-06-04 18:19:48 +0200
  • e30fdf9cc1 Fixed angle unit conversion. PaddiM8 2020-06-04 14:50:22 +0200
  • 93321c3dac Replaced f64 with rug::Float. PaddiM8 2020-06-04 14:46:45 +0200
  • 0d2d6df85b Added special function 'sum'. PaddiM8 2020-05-30 21:05:06 +0200
  • 456b61bf08 Implemented factorial. PaddiM8 2020-05-30 20:28:13 +0200
  • dc59d7cac2 Added hyp function. PaddiM8 2020-05-30 18:01:45 +0200
  • 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. PaddiM8 2020-05-30 17:56:16 +0200
  • 01aa30c2c1 Made some of the error messages in the interpreter more specific. PaddiM8 2020-05-30 16:59:58 +0200
  • 2b90620d83 Added some colours to the terminal output. PaddiM8 2020-05-30 15:59:25 +0200
  • 036fadb041 Moved AST node enums and functions into their own file. PaddiM8 2020-05-30 15:27:58 +0200
  • 41a41629a5 Implemented somewhat proper error handling for the interpreter. This involved removing the visitor. PaddiM8 2020-05-30 15:16:13 +0200
  • 1a56ddac45 Separated match arms in the interpreter into their own functions. PaddiM8 2020-05-29 23:54:20 +0200
  • e29299bdfe Removed the warning suppressor, since it is not needed anymore. PaddiM8 2020-05-29 23:23:50 +0200
  • 1c65fbed08 Refactored the parser PaddiM8 2020-05-29 23:21:59 +0200
  • aacb787bce Added binary log function. PaddiM8 2020-05-29 22:04:40 +0200
  • 34364dd40e Made parenthesis optional for unary functions PaddiM8 2020-05-29 21:35:59 +0200
  • 2cdade5d05 Removed the struct MathParser. The regular Parser struct does does its job now. PaddiM8 2020-05-29 19:30:43 +0200
  • dfd8e4ff64 Improved REPL by using the rustyline crate. PaddiM8 2020-05-29 15:56:01 +0200
  • 7c42368501 Added binary functions to the prelude. PaddiM8 2020-05-29 15:04:50 +0200
  • 32cd3a4e9e Completed the parsing of multi-parameter functions. It now works! PaddiM8 2020-05-29 14:49:52 +0200
  • 6d67797565 Prepared for supporting multiple function arguments. The types now support several arguments, and the only thing left is to parse this. PaddiM8 2020-05-29 00:27:08 +0200
  • 94722ed27e Fixed function declarations not parsing properly. PaddiM8 2020-05-28 23:56:09 +0200
  • 70d2913cb9 Initial commit PaddiM8 2020-05-28 23:46:35 +0200