Commit graph

170 commits

Author SHA1 Message Date
fc947280ae Move the lexer to its own sibillexer module
Lots of failing tests right now, unfortunately. :(
2017-04-15 09:37:12 -07:00
cea63e8e8e Attempt to move all the Sibil code to its own directory
Add a dependency to its Cargo.toml for sibiltypes.
2017-04-14 07:50:38 -07:00
5e71947128 Partial implementation of Rational addition 2017-04-14 07:48:02 -07:00
403536ec4c Lots of churn for Real 2017-04-14 07:47:51 -07:00
2b2d1029f3 Make Number its own struct with real/imag elements 2017-04-14 07:47:39 -07:00
27c4a80631 Add gcd() and lcm() methods to Int 2017-04-13 20:51:47 -07:00
74f98379b9 Move Complex struct to its own file 2017-04-12 09:36:30 -07:00
a60ec25c8e Implement irrational addition 2017-04-12 09:36:18 -07:00
1b816e19df Add a failing test to add rationals 2017-04-12 09:15:28 -07:00
9c52bcb040 Remove convert_down() from Number 2017-04-12 08:50:50 -07:00
e503e6da7c Clean up the enum matching for Reals 2017-04-12 08:50:37 -07:00
6ca01cbb5a Integer addition! 2017-04-11 21:58:25 -07:00
6baf62e8c2 Move Real to its own module and bring a bunch of stuff from rational and integer over 2017-04-11 21:32:02 -07:00
3571fd02c5 is_complex(), is_real(), and is_rational() are true if the lower type check is true 2017-04-10 10:35:17 -07:00
7965f4e971 Make some number tests prettier 2017-04-10 10:34:40 -07:00
465b188d48 Integer and Rational correctly report exactness 2017-04-09 17:20:24 -07:00
6d9599551b Add a doc comment explaining what convert_down() does 2017-04-09 15:59:53 -07:00
3e03ca7e4c Implement Integers and Rationals 2017-04-09 15:58:20 -07:00
0d3021fb74 Consolidate some tests in bool and char 2017-04-09 15:55:49 -07:00
6ae557d837 Remake the number module directory 2017-04-09 14:09:24 -07:00
8fe0bf3f71 Add initial number module implementation 2017-04-09 14:09:08 -07:00
370083e2f0 Break type checks into separate traits 2017-04-09 14:08:54 -07:00
b094310b3c Remove number module 2017-04-09 14:08:08 -07:00
18358f6d21 Add types/src/number/mod.rs
Empty number module
2017-04-08 16:39:01 -07:00
359da30eb7 Move mod stuff to lib.rs 2017-04-08 16:37:23 -07:00
c2ac6450ba Clean up some Value/Bool/Char code 2017-04-08 16:35:11 -07:00
27f1fb63ea Wholesale move modules from src/types to types/src 2017-04-08 16:25:02 -07:00
0e6231bd94 Add empty sibiltypes lib at ./types 2017-04-08 16:22:56 -07:00
6eb2f930a6 Add another lexer unit test to find a straight integer 2017-04-08 16:12:00 -07:00
8c83f884bf debug_assert that progress is being made 2017-04-08 16:11:44 -07:00
4a0586b1a5 Put str tests in a nested tests module 2017-04-03 16:55:47 -04:00
104b9b0864 Move around the tests for types 2017-04-03 16:44:04 -04:00
3cb1824a1b Implement IsBool and IsChar for Char and Bool 2017-04-03 16:40:23 -04:00
704c342a6f Add IsBool and IsChar to Value trait 2017-04-03 16:27:09 -04:00
149f953d11 Remove parser stuff from main() 2017-04-03 16:20:13 -04:00
90088ae814 Fix up types tests 2017-04-03 16:20:06 -04:00
33bf65db68 Actually read the value of the token variable 2017-04-03 16:19:58 -04:00
cc1a87761d Remove parse mod 2017-04-03 16:16:04 -04:00
2e619e716f Fix compiler errors in tests 2017-04-03 16:13:51 -04:00
b0aa38e387 Clean up compiler errors related to type name changes 2017-04-03 16:12:12 -04:00
ddfac28b8c Rearrange the types modules a bunch 2017-04-03 14:51:39 -04:00
82b96abd62 Implement Error::new() 2017-01-16 16:40:36 -08:00
ba911741ab Rename all the Identifier stuff Id 2017-01-16 16:23:19 -08:00
61d98ff135 Rename Identifier expression just Id 2017-01-16 16:18:57 -08:00
8e25c7e521 Write a test for parsing a simple list expression -- it fails right now 2017-01-16 15:31:00 -08:00
a780ef4ae2 Split Expression::Atom into Identifier and Literal cases 2017-01-16 15:29:46 -08:00
30173f4aaf Parse a single boolean expression into a Program! 2017-01-16 10:29:56 -08:00
d6a9fc26cd Boolean and Character are a little more filled out, and used by the Lexer 2017-01-16 10:29:44 -08:00
42d191d036 Successful empty input parser test! 2017-01-14 22:43:05 -08:00
5d1f6229f9 Derive Debug and PartialEq for Programs 2017-01-14 22:40:22 -08:00