|
c3113742a3
|
Convert state_hash()
|
2016-12-27 11:52:25 -07:00 |
|
|
59a8804fd8
|
Convert state_dot()
|
2016-12-27 11:36:43 -07:00 |
|
|
64435689fc
|
Remove semicolon; add &self to generic_error()
|
2016-12-27 11:30:08 -07:00 |
|
|
0870727241
|
Convert state_identifier
|
2016-12-27 11:23:56 -07:00 |
|
|
245e6e711f
|
Convert state_initial to return a StateResult
|
2016-12-27 11:18:30 -07:00 |
|
|
71fb678c50
|
Add token_result() helper
|
2016-12-27 11:18:15 -07:00 |
|
|
8d00e3afcf
|
Take a String by move into error_string()
|
2016-12-27 11:18:06 -07:00 |
|
|
7d42ad280f
|
error_string method
|
2016-12-27 10:57:16 -07:00 |
|
|
f2ff1acdd1
|
Emit line and offset information with tokens in Lex objects
|
2016-12-27 10:53:38 -07:00 |
|
|
5b88ec73ec
|
Track character offset relative to line
|
2016-12-27 10:50:43 -07:00 |
|
|
f7e990925c
|
Add StateResult type
|
2016-12-27 10:47:18 -07:00 |
|
|
77c3df99c0
|
New simple expression test
|
2016-12-27 10:39:07 -07:00 |
|
|
b731b0323a
|
Update test names: finds for single tokens, lexes for expressions
|
2016-12-27 10:38:57 -07:00 |
|
|
b00615a7b6
|
Some tests for exact numbers; adding sign after exact specifier
|
2016-12-27 10:14:03 -07:00 |
|
|
00d8380eac
|
Add exactness indicator
|
2016-12-27 10:08:44 -07:00 |
|
|
9ac596187d
|
Properly make hex numbers
|
2016-12-27 09:52:26 -07:00 |
|
|
798539d219
|
Add convenience from_* methods to Sign and Radix
|
2016-12-27 09:52:11 -07:00 |
|
|
0675f17e32
|
Remove char.is_identifier_single()
|
2016-12-27 09:51:24 -07:00 |
|
|
af73947ffd
|
Straighten out the NumberBuilder so it works
Also fix the Number lexing :D
|
2016-12-27 08:18:44 -07:00 |
|
|
bbefd98dbd
|
Some tests for the NumberBuilder
|
2016-12-26 18:41:42 -07:00 |
|
|
aba541ed4d
|
Attempting numbers; tests are failing though :-(
|
2016-12-26 18:23:58 -07:00 |
|
|
9e3d4f155e
|
Rough copy of Number and NumberBuilder
|
2016-12-26 13:58:17 -07:00 |
|
|
59f9b5dd97
|
Dot state
|
2016-12-26 11:51:03 -07:00 |
|
|
7b4d3c62b9
|
Check single character identifiers: +, -
|
2016-12-26 11:37:45 -07:00 |
|
|
d63494fc32
|
Check that forward progress is always made by lexer states
|
2016-12-26 09:15:53 -07:00 |
|
|
b0b9a38932
|
Straighten out test failures
|
2016-12-26 09:15:43 -07:00 |
|
|
0a9da3b7e8
|
Assert invalid characters in states
|
2016-12-26 08:52:15 -07:00 |
|
|
dfc528e8e7
|
Find left vector parens
|
2016-12-25 20:59:21 -07:00 |
|
|
c42d69bd47
|
Lex dots: .
|
2016-12-25 20:54:47 -07:00 |
|
|
c34064f51a
|
TODO about using Results
|
2016-12-25 20:49:46 -07:00 |
|
|
3d369daa66
|
Check single tokens in the lexer
|
2016-12-25 20:49:15 -07:00 |
|
|
5a28b06434
|
Move lexer tests to a #[cfg(test)] mod tests { } modules
|
2016-12-25 19:23:01 -07:00 |
|
|
81a84a796a
|
Lex basic strings (no escapes yet)
|
2016-12-25 15:03:18 -07:00 |
|
|
ea4758e442
|
Clean up end of next()
|
2016-12-25 14:41:06 -07:00 |
|
|
953870fae0
|
Check for EOF ("\0") when reading comments
|
2016-12-25 14:34:11 -07:00 |
|
|
b2f7afef07
|
Lexer::new takes a &str instead of a String
|
2016-12-25 14:33:58 -07:00 |
|
|
a74228d11a
|
Add char::is_eof()
|
2016-12-25 14:33:26 -07:00 |
|
|
7f19c78127
|
Make some unit tests for the lexer
|
2016-12-25 14:20:25 -07:00 |
|
|
7e784ffce1
|
Make the Lex at the end, make tokens in state methods
|
2016-12-25 14:20:16 -07:00 |
|
|
0d89cfefc1
|
Add Comment token
|
2016-12-25 13:50:34 -07:00 |
|
|
c925939faf
|
Break apart is_boolean test into true/false variants
|
2016-12-25 12:24:31 -07:00 |
|
|
acbde03786
|
Token is an enum with values; Lex contains a token and several useful bits of info
|
2016-12-25 12:24:04 -07:00 |
|
|
6b8ba6b6e8
|
use #[derive(Debug)] on Token, Kind, State... SO MUCH EASIER
|
2016-12-24 14:03:37 -07:00 |
|
|
c84251b56f
|
Display for State enum
|
2016-12-24 10:29:24 -07:00 |
|
|
43054b3f49
|
Lex hashes and booleans
|
2016-12-24 10:29:12 -07:00 |
|
|
e9b0eab38a
|
Sort out advancing pointers for whitespace
|
2016-12-24 09:59:35 -07:00 |
|
|
8140e3c5e6
|
Pass over whitespace and count lines
|
2016-12-24 09:17:08 -07:00 |
|
|
f7c28c6732
|
Add single character identifiers
|
2016-12-24 09:07:38 -07:00 |
|
|
fd3f6f9f29
|
Remove characters module declaration
|
2016-12-24 09:07:20 -07:00 |
|
|
f7cedb3536
|
Doc clean up
|
2016-12-24 09:05:10 -07:00 |
|