Commit graph

274 commits

Author SHA1 Message Date
28e5814101 Check for EOF (aka input.next() -> None) and emit what we have before finishing forever 2017-05-02 21:44:57 -07:00
5fe10fe002 Simplify the resume check -- just use an if 2017-05-02 21:44:01 -07:00
c5b769ff45 A peekable lexer
Use the chars() iterator on &str, with the Peekable wrapper on Iterators, to iterate the input, rather than needing to hold the whole input and do iteration by indexes.
2017-04-30 17:46:42 -07:00
a4282e7760 Blow away the lexer code =o 2017-04-30 16:32:31 -07:00
4d3366db84 First attempt at Display for Object::Vector 2017-04-30 16:01:11 -07:00
31c68034a8 Fix a good portion of the build errors in sibillexer (but not all...) 2017-04-30 16:00:51 -07:00
f21148381e Make sibiltypes::char public 2017-04-30 15:57:29 -07:00
027daf692b lexer::number uses sibiltypes::Object 2017-04-30 15:57:16 -07:00
21263fb2ed Lexer doesn't have a named_char module anymore 2017-04-30 15:57:02 -07:00
a88bf20a23 Derive Eq on lexer::number::Sign 2017-04-30 15:56:49 -07:00
28ba98582a More compact formatting 2017-04-30 15:56:32 -07:00
9183e05891 Add FromChar trait to lexer::char 2017-04-30 15:56:21 -07:00
3ffb694ce1 Move Exact to types::number 2017-04-30 15:55:50 -07:00
d783e561da Strip down the parser (again...) 2017-04-29 08:58:02 -07:00
0133bbed19 [types] Move Char trait down to just above impl 2017-04-23 17:11:56 -07:00
1430bdad29 Make a Char trait that provides some handy methods for Object::Char 2017-04-23 10:57:08 -07:00
fd5df91e27 [lexer,types] Move named_char to types as types/char/names.rs
Move char.rs to be char/mod.rs
2017-04-23 10:41:47 -07:00
5cb66d932f [lexer] Clean up named_char module 2017-04-23 10:02:39 -07:00
38be7d2eee Expose ObjectPtr and ObjectPtr::new from sibiltypes 2017-04-23 09:23:03 -07:00
076d391d4b Remove list.rs from the parser 2017-04-22 15:22:48 -07:00
a5f88c221d Use Objects for Token values 2017-04-22 15:21:13 -07:00
2f8051135f Couple more tweaks to number printing 2017-04-22 15:05:51 -07:00
15910480ee Write Numbers 2017-04-22 12:57:43 -07:00
3d13800d30 Clean module imports for real.rs 2017-04-22 12:57:25 -07:00
b5e9ce6ae2 Implement Display for Numbers 2017-04-22 12:57:11 -07:00
a827958656 Remove complex module from types/number 2017-04-22 12:56:54 -07:00
89b29aadbe Some unit tests for displaying objects -- not every case is covered cause there are still lots of TODOs 2017-04-22 12:48:46 -07:00
d9e3f24146 TODO about using str.chars() instead of my own janky character iteration stuff 2017-04-22 12:30:15 -07:00
d41fe37d6a Fix writing pairs 2017-04-22 12:29:53 -07:00
c3a2247fdd Clean up tests for bool, char, and the lib 2017-04-22 12:29:43 -07:00
25c24852cd Add a comment to the Pair Display TODO 2017-04-22 09:32:47 -07:00
4274822b65 Simplify number/mod.rs a bunch 2017-04-22 09:30:45 -07:00
61f8cfccb5 Simplify bool.rs a bunch 2017-04-22 09:30:28 -07:00
beb32bf2ce Bunch of work on types
- Comment out a bunch of types modules for now
- Implement fmt::Display on Object (this breaks the build because Number doesn't
  implement Display yet)
- Move all the Is* traits to predicates.rs

Haven't run tests yet because they won't build...
2017-04-22 09:29:11 -07:00
d63eef3da0 Move value.rs to object.rs 2017-04-22 09:28:44 -07:00
89279e5a22 Convert Value trait to a Object enum; add ObjectPtr type 2017-04-21 19:28:39 -07:00
1365ab71db More rough sketching of a parser 2017-04-16 11:42:08 -07:00
ee3368201b Add Lexer TODO 2017-04-16 08:41:19 -07:00
55a87fee44 Need a space for rendering checklists? 2017-04-15 21:37:30 -07:00
1ea8f99e57 A bunch of TODO stuff into the README 2017-04-15 21:36:27 -07:00
594b3e44e1 Rough outline of something resembling a parser (again...) 2017-04-15 21:01:28 -07:00
9f1500c1b6 Improve logging ever so slightly 2017-04-15 18:12:24 -07:00
ddf13f9bae Make Lex less mutable 2017-04-15 18:12:24 -07:00
f31094d115 Move rational conversion to math.rs 2017-04-15 11:30:31 -07:00
392c9e5ef8 Add fmt::Display impl to Real 2017-04-15 11:13:05 -07:00
161c122327 Remove println! 2017-04-15 11:06:14 -07:00
25ef33b81f Expose number module from sibiltypes 2017-04-15 11:01:42 -07:00
1d7b3b9df1 Add doc tests for other Real methods 2017-04-15 11:01:29 -07:00
c46081c0c3 Make Rational addition work! 2017-04-15 11:01:12 -07:00
f9d9a08455 Add a failing test that the lexer finds rational numbers 2017-04-15 10:35:13 -07:00