7226d66f67 
							
						 
					 
					
						
						
							
							Remove the parent method from type_env.  
						
						 
						
						
						
					 
					
						2020-09-17 22:35:12 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							8a352ed3ea 
							
						 
					 
					
						
						
							
							Roll back optimization changes.  
						
						 
						
						
						
					 
					
						2020-09-17 20:45:24 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							02f8306c7b 
							
						 
					 
					
						
						
							
							Use an  instruction instead of a special-case boolean instruction.  
						
						 
						
						
						
					 
					
						2020-09-17 18:33:52 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							cf6f353f20 
							
						 
					 
					
						
						
							
							Change tagging to assume sign extension.  
						
						 
						
						... 
						
						
						
						ARM and x86_64 require "real" pointers to be
sign-extended in their top bits. This means
a working pointer is guaranteed to have either "11"
as leading bits, or "00". So, to tag a "fake" pointer
which is an unboxed 32-bit integer, we simply toggle
the leading bit. 
						
					 
					
						2020-09-17 18:30:55 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							7a631b3557 
							
						 
					 
					
						
						
							
							Make a few more things classes.  
						
						 
						
						
						
					 
					
						2020-09-17 18:30:41 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							5e13047846 
							
						 
					 
					
						
						
							
							Make global scope a class.  
						
						 
						
						
						
					 
					
						2020-09-15 19:45:05 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							c17d532802 
							
						 
					 
					
						
						
							
							Make type_mgr a class.  
						
						 
						
						
						
					 
					
						2020-09-15 19:19:58 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							55e4e61906 
							
						 
					 
					
						
						
							
							Make mangler a class and reformat graph.  
						
						 
						
						
						
					 
					
						2020-09-15 19:13:48 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							f2f88ab9ca 
							
						 
					 
					
						
						
							
							Make env a class.  
						
						 
						
						
						
					 
					
						2020-09-15 19:12:12 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							ba418d357f 
							
						 
					 
					
						
						
							
							Make type_env a class.  
						
						 
						
						
						
					 
					
						2020-09-15 19:10:36 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							0e3f16139d 
							
						 
					 
					
						
						
							
							Make llvm_context a class.  
						
						 
						
						
						
					 
					
						2020-09-15 19:08:00 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							55486d511f 
							
						 
					 
					
						
						
							
							Make some refactors for name mangling and encapsulation.  
						
						 
						
						
						
					 
					
						2020-09-15 18:51:28 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							6080094c41 
							
						 
					 
					
						
						
							
							Require mangled names for global variables.  
						
						 
						
						
						
					 
					
						2020-09-15 14:39:31 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							6b8d3b0f8a 
							
						 
					 
					
						
						
							
							Refactor errors and update post draft.  
						
						 
						
						
						
					 
					
						2020-09-11 21:29:49 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							725958137a 
							
						 
					 
					
						
						
							
							Factor type into case strategy constructor.  
						
						 
						
						
						
					 
					
						2020-09-11 13:03:00 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							1f6b4bef74 
							
						 
					 
					
						
						
							
							Start working on part 13 of compiler series.  
						
						 
						
						
						
					 
					
						2020-09-11 02:16:57 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							fe1e0a6de0 
							
						 
					 
					
						
						
							
							Switch to using FILE* and default YY_INPUT.  
						
						 
						
						
						
					 
					
						2020-09-11 02:16:29 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							1f3c42fc44 
							
						 
					 
					
						
						
							
							Change constructor visibility to global.  
						
						 
						
						... 
						
						
						
						Constructors are always effectively global. 
						
					 
					
						2020-09-10 20:11:55 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							8bf67c7dc3 
							
						 
					 
					
						
						
							
							Merge branch 'master' of  https://dev.danilafe.com/Web-Projects/blog-static  into master  
						
						 
						
						
						
					 
					
						2020-09-10 18:47:55 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							13214cee96 
							
						 
					 
					
						
						
							
							Try out unboxing integers.  
						
						 
						
						
						
					 
					
						2020-09-10 17:32:16 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							579c7bad92 
							
						 
					 
					
						
						
							
							Enable more syntax.  
						
						 
						
						
						
					 
					
						2020-09-10 16:04:44 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							f00a6a7783 
							
						 
					 
					
						
						
							
							Actually use the environment for binop functions.  
						
						 
						
						
						
					 
					
						2020-09-10 16:03:56 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							2a81fdd9fb 
							
						 
					 
					
						
						
							
							Stop using mangled names for local variables.  
						
						 
						
						
						
					 
					
						2020-09-10 15:14:19 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							17c59e595c 
							
						 
					 
					
						
						
							
							Add assertion regarding local name mangling.  
						
						 
						
						
						
					 
					
						2020-09-10 15:05:02 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							ad2576eae2 
							
						 
					 
					
						
						
							
							Move common code into loops.  
						
						 
						
						
						
					 
					
						2020-09-10 14:50:03 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							72d8179cc5 
							
						 
					 
					
						
						
							
							Add compile-time flag to disable output.  
						
						 
						
						
						
					 
					
						2020-09-10 14:07:28 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							dbabec0db6 
							
						 
					 
					
						
						
							
							Tweak parsed type error warning.  
						
						 
						
						
						
					 
					
						2020-09-10 14:04:06 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							76675fbc9b 
							
						 
					 
					
						
						
							
							Make make_case_for throw from the second time on.  
						
						 
						
						... 
						
						
						
						Also clean up the errors thrown a little bit. 
						
					 
					
						2020-09-10 14:03:04 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							ca395b5c09 
							
						 
					 
					
						
						
							
							Add programs to trigger error cases.  
						
						 
						
						
						
					 
					
						2020-09-10 14:02:19 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							1a05d5ff7a 
							
						 
					 
					
						
						
							
							Add type errors to identifier nodes.  
						
						 
						
						
						
					 
					
						2020-09-10 12:59:26 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							56f0dbd02f 
							
						 
					 
					
						
						
							
							Prevent case compilation from crashing and burning.  
						
						 
						
						
						
					 
					
						2020-09-10 12:53:55 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							9fc0ff961d 
							
						 
					 
					
						
						
							
							Add more built-in boolean-specific instructions.  
						
						 
						
						
						
					 
					
						2020-09-10 12:44:41 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							73441dc93b 
							
						 
					 
					
						
						
							
							Register booleans as internal types.  
						
						 
						
						
						
					 
					
						2020-09-10 00:54:35 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							df5f5eba1c 
							
						 
					 
					
						
						
							
							Make sure to delete LLVM target machine.  
						
						 
						
						
						
					 
					
						2020-09-09 23:45:48 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							d950b8dc90 
							
						 
					 
					
						
						
							
							Initialize graph indegree.  
						
						 
						
						
						
					 
					
						2020-09-09 23:44:53 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							85394b185d 
							
						 
					 
					
						
						
							
							Add prototype impl of case specialization.  
						
						 
						
						... 
						
						
						
						Boolean cases could be translated to ifs, and
integer cases to jumps. That's still in progress. 
						
					 
					
						2020-09-09 22:49:35 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							86b49f9cc3 
							
						 
					 
					
						
						
							
							Add 'internal' types.  
						
						 
						
						
						
					 
					
						2020-09-09 18:08:38 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							9769b3e396 
							
						 
					 
					
						
						
							
							Replace throw 0 with real exceptions or assertions.  
						
						 
						
						
						
					 
					
						2020-09-09 17:19:23 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							e337992410 
							
						 
					 
					
						
						
							
							Add sources for unification type errors.  
						
						 
						
						
						
					 
					
						2020-09-09 15:26:18 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							d5c3a44041 
							
						 
					 
					
						
						
							
							Add extra line after code fence.  
						
						 
						
						
						
					 
					
						2020-09-09 15:25:48 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							eade42be49 
							
						 
					 
					
						
						
							
							Print locations in non-unification type errors.  
						
						 
						
						
						
					 
					
						2020-09-09 15:15:25 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							d0fac50cfd 
							
						 
					 
					
						
						
							
							Add locations to patterns.  
						
						 
						
						
						
					 
					
						2020-09-09 15:15:09 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							dd4aa6fb9d 
							
						 
					 
					
						
						
							
							Require C++17 for optionals  
						
						 
						
						
						
					 
					
						2020-09-09 15:14:37 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							aa867b2e5f 
							
						 
					 
					
						
						
							
							Add locations to error reporting.  
						
						 
						
						
						
					 
					
						2020-09-09 15:08:43 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							2fa2be4b9e 
							
						 
					 
					
						
						
							
							Add a method to print location.  
						
						 
						
						
						
					 
					
						2020-09-09 14:41:16 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							d5536467f6 
							
						 
					 
					
						
						
							
							Touch up source index code.  
						
						 
						
						
						
					 
					
						2020-09-09 14:20:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							67cb61c93f 
							
						 
					 
					
						
						
							
							Keep track of locations in definitions.  
						
						 
						
						
						
					 
					
						2020-09-09 14:19:46 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							578d580683 
							
						 
					 
					
						
						
							
							Make driver keep track of line numbers and locations.  
						
						 
						
						
						
					 
					
						2020-09-09 13:57:01 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							789f277780 
							
						 
					 
					
						
						
							
							Update ASTs to actually take in locations.  
						
						 
						
						... 
						
						
						
						Didn't realize I broke the build by leaving this out. 
						
					 
					
						2020-09-09 13:29:28 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
						
						
							
						
						
							308ec615b9 
							
						 
					 
					
						
						
							
							Start using driver, and switch to file IO.  
						
						 
						
						
						
					 
					
						2020-09-09 13:28:43 -07:00