281c29ee26 
								
							 
						 
						
							
							
								
								[lexer] Expose token field via method; Clone and Copy Tokens  
							
							 
							
							
							
						 
						
							2018-08-19 22:30:19 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								027854d162 
								
							 
						 
						
							
							
								
								[parser] Print things in main() as the thing  
							
							 
							
							
							
						 
						
							2018-08-19 22:11:08 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d7bffdc432 
								
							 
						 
						
							
							
								
								[parser] Add parsers field to Parser  
							
							 
							
							... 
							
							
							
							This will be a stack of node-specific parsers. As you descend the tree, a new
parser will be created for each node we visit. 
							
						 
						
							2018-08-19 22:04:05 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								52ede10d5e 
								
							 
						 
						
							
							
								
								[parser] Remove program.rs  
							
							 
							
							
							
						 
						
							2018-08-19 21:15:07 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								6de9ff6695 
								
							 
						 
						
							
							
								
								[types] Fix the tests  
							
							 
							
							
							
						 
						
							2018-08-17 17:18:01 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								cc43ffd135 
								
							 
						 
						
							
							
								
								[lexer] Lexer emits Lexes instead of Tokens  
							
							 
							
							
							
						 
						
							2017-06-26 21:54:57 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								5f3770914f 
								
							 
						 
						
							
							
								
								[lexer] Basic handling of input offsets  
							
							 
							
							
							
						 
						
							2017-06-26 21:54:05 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								efe0c27d93 
								
							 
						 
						
							
							
								
								Make the Parser dump tokens and quit  
							
							 
							
							... 
							
							
							
							Write a main() for sibilparser that just does that. 
							
						 
						
							2017-06-18 17:34:46 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2a7626c75f 
								
							 
						 
						
							
							
								
								Add a type def for lexer Result  
							
							 
							
							
							
						 
						
							2017-06-18 16:50:14 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d994316392 
								
							 
						 
						
							
							
								
								Character checks for identifier initial and subsequent  
							
							 
							
							
							
						 
						
							2017-05-13 17:21:23 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								237dca4b4b 
								
							 
						 
						
							
							
								
								Add some character class methods to a Lexable trait for char  
							
							 
							
							
							
						 
						
							2017-05-13 15:37:01 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1dfdc001b3 
								
							 
						 
						
							
							
								
								Add an error class  
							
							 
							
							
							
						 
						
							2017-05-13 15:26:41 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								b5f76deb98 
								
							 
						 
						
							
							
								
								Add some single token tests for the tokens we have  
							
							 
							
							
							
						 
						
							2017-05-02 21:45:10 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								28e5814101 
								
							 
						 
						
							
							
								
								Check for EOF (aka input.next() -> None) and emit what we have before finishing forever  
							
							 
							
							
							
						 
						
							2017-05-02 21:44:57 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								5fe10fe002 
								
							 
						 
						
							
							
								
								Simplify the resume check -- just use an if  
							
							 
							
							
							
						 
						
							2017-05-02 21:44:01 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								c5b769ff45 
								
							 
						 
						
							
							
								
								A peekable lexer  
							
							 
							
							... 
							
							
							
							Use the chars() iterator on &str, with the Peekable wrapper on Iterators, to iterate the input, rather than needing to hold the whole input and do iteration by indexes. 
							
						 
						
							2017-04-30 17:46:42 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								a4282e7760 
								
							 
						 
						
							
							
								
								Blow away the lexer code =o  
							
							 
							
							
							
						 
						
							2017-04-30 16:32:31 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								4d3366db84 
								
							 
						 
						
							
							
								
								First attempt at Display for Object::Vector  
							
							 
							
							
							
						 
						
							2017-04-30 16:01:11 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								31c68034a8 
								
							 
						 
						
							
							
								
								Fix a good portion of the build errors in sibillexer (but not all...)  
							
							 
							
							
							
						 
						
							2017-04-30 16:00:51 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								f21148381e 
								
							 
						 
						
							
							
								
								Make sibiltypes::char public  
							
							 
							
							
							
						 
						
							2017-04-30 15:57:29 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								027daf692b 
								
							 
						 
						
							
							
								
								lexer::number uses sibiltypes::Object  
							
							 
							
							
							
						 
						
							2017-04-30 15:57:16 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								21263fb2ed 
								
							 
						 
						
							
							
								
								Lexer doesn't have a named_char module anymore  
							
							 
							
							
							
						 
						
							2017-04-30 15:57:02 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								a88bf20a23 
								
							 
						 
						
							
							
								
								Derive Eq on lexer::number::Sign  
							
							 
							
							
							
						 
						
							2017-04-30 15:56:49 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								28ba98582a 
								
							 
						 
						
							
							
								
								More compact formatting  
							
							 
							
							
							
						 
						
							2017-04-30 15:56:32 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								9183e05891 
								
							 
						 
						
							
							
								
								Add FromChar trait to lexer::char  
							
							 
							
							
							
						 
						
							2017-04-30 15:56:21 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3ffb694ce1 
								
							 
						 
						
							
							
								
								Move Exact to types::number  
							
							 
							
							
							
						 
						
							2017-04-30 15:55:50 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d783e561da 
								
							 
						 
						
							
							
								
								Strip down the parser (again...)  
							
							 
							
							
							
						 
						
							2017-04-29 08:58:02 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								0133bbed19 
								
							 
						 
						
							
							
								
								[types] Move Char trait down to just above impl  
							
							 
							
							
							
						 
						
							2017-04-23 17:11:56 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1430bdad29 
								
							 
						 
						
							
							
								
								Make a Char trait that provides some handy methods for Object::Char  
							
							 
							
							
							
						 
						
							2017-04-23 10:57:08 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								fd5df91e27 
								
							 
						 
						
							
							
								
								[lexer,types] Move named_char to types as types/char/names.rs  
							
							 
							
							... 
							
							
							
							Move char.rs to be char/mod.rs 
							
						 
						
							2017-04-23 10:41:47 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								5cb66d932f 
								
							 
						 
						
							
							
								
								[lexer] Clean up named_char module  
							
							 
							
							
							
						 
						
							2017-04-23 10:02:39 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								38be7d2eee 
								
							 
						 
						
							
							
								
								Expose ObjectPtr and ObjectPtr::new from sibiltypes  
							
							 
							
							
							
						 
						
							2017-04-23 09:23:03 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								076d391d4b 
								
							 
						 
						
							
							
								
								Remove list.rs from the parser  
							
							 
							
							
							
						 
						
							2017-04-22 15:22:48 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								a5f88c221d 
								
							 
						 
						
							
							
								
								Use Objects for Token values  
							
							 
							
							
							
						 
						
							2017-04-22 15:21:13 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								2f8051135f 
								
							 
						 
						
							
							
								
								Couple more tweaks to number printing  
							
							 
							
							
							
						 
						
							2017-04-22 15:05:51 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								15910480ee 
								
							 
						 
						
							
							
								
								Write Numbers  
							
							 
							
							
							
						 
						
							2017-04-22 12:57:43 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								3d13800d30 
								
							 
						 
						
							
							
								
								Clean module imports for real.rs  
							
							 
							
							
							
						 
						
							2017-04-22 12:57:25 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								b5e9ce6ae2 
								
							 
						 
						
							
							
								
								Implement Display for Numbers  
							
							 
							
							
							
						 
						
							2017-04-22 12:57:11 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								a827958656 
								
							 
						 
						
							
							
								
								Remove complex module from types/number  
							
							 
							
							
							
						 
						
							2017-04-22 12:56:54 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								89b29aadbe 
								
							 
						 
						
							
							
								
								Some unit tests for displaying objects -- not every case is covered cause there are still lots of TODOs  
							
							 
							
							
							
						 
						
							2017-04-22 12:48:46 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d9e3f24146 
								
							 
						 
						
							
							
								
								TODO about using str.chars() instead of my own janky character iteration stuff  
							
							 
							
							
							
						 
						
							2017-04-22 12:30:15 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d41fe37d6a 
								
							 
						 
						
							
							
								
								Fix writing pairs  
							
							 
							
							
							
						 
						
							2017-04-22 12:29:53 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								c3a2247fdd 
								
							 
						 
						
							
							
								
								Clean up tests for bool, char, and the lib  
							
							 
							
							
							
						 
						
							2017-04-22 12:29:43 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								25c24852cd 
								
							 
						 
						
							
							
								
								Add a comment to the Pair Display TODO  
							
							 
							
							
							
						 
						
							2017-04-22 09:32:47 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								4274822b65 
								
							 
						 
						
							
							
								
								Simplify number/mod.rs a bunch  
							
							 
							
							
							
						 
						
							2017-04-22 09:30:45 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								61f8cfccb5 
								
							 
						 
						
							
							
								
								Simplify bool.rs a bunch  
							
							 
							
							
							
						 
						
							2017-04-22 09:30:28 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								beb32bf2ce 
								
							 
						 
						
							
							
								
								Bunch of work on types  
							
							 
							
							... 
							
							
							
							- Comment out a bunch of types modules for now
- Implement fmt::Display on Object (this breaks the build because Number doesn't
  implement Display yet)
- Move all the Is* traits to predicates.rs
Haven't run tests yet because they won't build... 
							
						 
						
							2017-04-22 09:29:11 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								d63eef3da0 
								
							 
						 
						
							
							
								
								Move value.rs to object.rs  
							
							 
							
							
							
						 
						
							2017-04-22 09:28:44 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								89279e5a22 
								
							 
						 
						
							
							
								
								Convert Value trait to a Object enum; add ObjectPtr type  
							
							 
							
							
							
						 
						
							2017-04-21 19:28:39 -07:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
						 
						
							
							
							
							
								
							
							
								1365ab71db 
								
							 
						 
						
							
							
								
								More rough sketching of a parser  
							
							 
							
							
							
						 
						
							2017-04-16 11:42:08 -07:00