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