|
db2e81d518
|
Add Debug to Value trait
|
2017-01-12 21:37:42 -08:00 |
|
|
8bd71a144d
|
Parse the lexed input into a Program in main
|
2017-01-12 21:18:32 -08:00 |
|
|
c2209a8a8a
|
Add Value trait to type structs
|
2017-01-12 21:18:20 -08:00 |
|
|
bcedfe2f81
|
Expand the parser a bit, loop over Lexes and print them
|
2017-01-12 21:18:07 -08:00 |
|
|
5ec2a11df1
|
Add Expression type, Program is a list of Expressions
|
2017-01-12 21:17:48 -08:00 |
|
|
febc3c359f
|
Publically export Lex and Token from lexer
|
2017-01-12 21:15:42 -08:00 |
|
|
5f4b96e4e2
|
Misc tiny cleanup bits in the lexer
|
2017-01-07 19:31:22 -08:00 |
|
|
2a680d07c7
|
Lex all the special character escapes, without stupid state hacking
|
2017-01-07 16:20:26 -08:00 |
|
|
2f8f71fc28
|
A Program node, and an empty parse() method on Parser
|
2017-01-02 12:17:26 -05:00 |
|
|
da63993fe0
|
Framework for parser module
|
2017-01-02 12:09:46 -05:00 |
|
|
bf03cb8ef9
|
lex() function in lexer module
|
2017-01-02 12:00:31 -05:00 |
|
|
3dd170ec69
|
Empty parser module
|
2017-01-02 11:54:32 -05:00 |
|
|
9cbf8d2d0d
|
Little Number tweaks
|
2017-01-02 11:52:15 -05:00 |
|
|
149aa50fa9
|
Move simple types to types/mod.rs
|
2017-01-02 11:47:54 -05:00 |
|
|
bbf161ede9
|
DELETE PARSER CRAP
|
2017-01-02 11:46:45 -05:00 |
|
|
e1f2c6b88b
|
Basic parsing infrastructure .. doesn't actually do anything
|
2016-12-29 16:58:02 -05:00 |
|
|
1d19a3f722
|
Fix up lexer tests after movement of stuff
|
2016-12-29 16:56:47 -05:00 |
|
|
a7c6caec95
|
Attempt to write tree printing for the parse tree
I have _no_ idea if this will work or not.
|
2016-12-29 15:14:56 -05:00 |
|
|
7f6ef1ac1e
|
Nodes for Program and Constant
|
2016-12-29 14:25:43 -05:00 |
|
|
1527d10a80
|
Shuffle around Constant node stuff
|
2016-12-29 12:36:22 -05:00 |
|
|
977e6332a7
|
Move nodes.rs to nodes/mod.rs
|
2016-12-29 12:34:05 -05:00 |
|
|
4cfd0510e6
|
Define a Constant node for constants
|
2016-12-29 12:33:20 -05:00 |
|
|
8f2a93f813
|
pub use Boolen and Number for types module
|
2016-12-29 12:33:11 -05:00 |
|
|
8d38ac4441
|
Add nodes module to parser
|
2016-12-29 12:22:43 -05:00 |
|
|
1728ea2868
|
Add boolean module to types
|
2016-12-29 12:22:29 -05:00 |
|
|
f799d7642d
|
Create types module with a module for numbers; move Number there
|
2016-12-29 10:10:40 -05:00 |
|
|
93bdc998bd
|
Create emtpy mod.rs for the parser module
|
2016-12-29 09:44:49 -05:00 |
|
|
c881ee874a
|
Use a string to build up the value of String tokens, so we can properly handle escape characters and such
|
2016-12-28 18:01:36 -05:00 |
|
|
872d07e6b7
|
Write a check_tokens() test helper that checks an input string against a list of tokens
|
2016-12-28 17:41:35 -05:00 |
|
|
c061d9732c
|
Lex characters, including #\newline and #\space
This implementation is pretty dumb I think... >_<
At least, it was annoying as hell to write.
|
2016-12-28 12:16:28 -07:00 |
|
|
94579233bf
|
Test lexing quotes
|
2016-12-28 10:57:16 -07:00 |
|
|
b1ef5fdf3e
|
Lex quotes -- need to write a test for this but captain says its time to put devices away...
|
2016-12-28 08:40:31 -07:00 |
|
|
89e639fbac
|
Remove TODO. I _did_ this. :)
|
2016-12-28 08:37:55 -07:00 |
|
|
c4048e2c01
|
Because Emily sooo immature 🙄
|
2016-12-28 08:37:04 -07:00 |
|
|
5d5ddf30d0
|
Find escaped characters in strings
|
2016-12-28 08:35:02 -07:00 |
|
|
575ebceb7c
|
Assert on errors
|
2016-12-27 12:13:21 -07:00 |
|
|
606f2853a9
|
Convert all the things
|
2016-12-27 12:10:15 -07:00 |
|
|
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 |
|