|
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 |
|
|
d4dee92904
|
Move all the lexer stuff to a module directory
|
2016-12-24 08:57:37 -07:00 |
|
|
d333819dee
|
Break token stuff into a separate source file
|
2016-12-24 08:47:02 -07:00 |
|
|
8d9cfd86f8
|
Move lexer.rs to lexer/mod.rs
|
2016-12-24 08:41:18 -07:00 |
|
|
f1d15d5cef
|
Documentation and some clean up
|
2016-12-23 17:53:28 -07:00 |
|
|
089425ab0f
|
Remove the demo stuff
|
2016-12-23 17:48:19 -07:00 |
|
|
e6ca40122e
|
Print out tokens as they come
|
2016-12-23 17:46:36 -07:00 |
|
|
b1051f5f74
|
Do actual (quite simplified) lexing!
|
2016-12-23 17:46:28 -07:00 |
|
|
9561e1bf91
|
Add Display trait to Token and Kind
|
2016-12-23 17:45:37 -07:00 |
|
|
79080ff62b
|
CharAt trait, applied to str
|
2016-12-23 17:44:44 -07:00 |
|
|
fcb7a79721
|
Some unit tests for the RelativeIndexable methods
|
2016-12-23 17:44:28 -07:00 |
|
|
4bd1d2c9c2
|
Redo how index_before and index_after work
|
2016-12-23 17:43:46 -07:00 |
|
|
fa2ff9e8ce
|
chars are Lexable
|
2016-12-23 17:38:33 -07:00 |
|
|
e13b2c24de
|
Laying some groundwork for actual lexing...
|
2016-12-22 09:25:31 -08:00 |
|
|
2c9b024ac5
|
index_before and index_after return Option<usize> instead of just usize
|
2016-12-22 09:25:10 -08:00 |
|
|
93353f0f9e
|
Documentation for the set functions in characters.rs
|
2016-12-22 09:24:53 -08:00 |
|
|
fbf1d07e27
|
Iterate lexer
|
2016-12-20 17:52:46 -08:00 |
|
|
7de54a9835
|
Make public lexer bits public
|
2016-12-20 17:52:29 -08:00 |
|
|
837403949e
|
Fix off by one
|
2016-12-20 17:52:00 -08:00 |
|
|
08bbaeb7cf
|
Make ascii_* sets private to characters
|
2016-12-20 17:51:43 -08:00 |
|
|
7c43e93470
|
Rustify my syntax
|
2016-12-20 17:51:13 -08:00 |
|
|
f02240da87
|
Add characters module
|
2016-12-20 17:38:51 -08:00 |
|
|
ac4cff9a51
|
Add a bunch of character stuff to the lexer module
|
2016-12-19 22:23:27 -08:00 |
|
|
9e51659a30
|
Ignore Rust build artifacts
|
2016-12-19 14:02:19 -08:00 |
|
|
a5220fdbaf
|
Add initial sibil Rust project
|
2016-12-19 14:01:55 -08:00 |
|
|
0416c6ac7d
|
Initial commit
Add README.md
|
2016-12-19 13:57:04 -08:00 |
|