| 
							
						 | 
						
							
							
							
							
								
							
							
								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 | 
						
						
							
							
							
							
								
							
							
						 | 
					
				
					
						| 
							
						 | 
						
							
							
							
							
								
							
							
								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 | 
						
						
							
							
							
							
								
							
							
						 |