ab8bf48485
	 
				 
					 
					
						
						
							
							Make constant declarations local.  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						There are several changes in this commit:
 * first of all constants declared by 'const' statement should be local (declared in current scope / frame),
 * constants are declared by using OP_DECLARE instruction,
 * OP_LOADC browses both global and local constants container,
 * PH7_VmRegisterConstant() allows both global and local declarations.
Since this commit, there are 3 kinds of constants:
 1) global
 2) local (in loop, closure, method)
 3) class members.
Actually there is no way to declare a global constant except the built-in constants. 
						
						
					 
					
						2019-05-04 13:45:32 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						90b2da7c56
	 
				 
					 
					
						
						
							
							Unify constant length.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-03 12:40:47 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e6b7f1be2c
	 
				 
					 
					
						
						
							
							Always emit OP_JMPLFE as goto can be used inside a loop and frame has to be left.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-03 10:55:57 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						03fc167be1
	 
				 
					 
					
						
						
							
							Proper implementation of so hated 'goto' statement.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-03 10:35:54 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2f3ce65289
	 
				 
					 
					
						
						
							
							Correct comment to if/else statements.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-02 19:03:47 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						73c1a814f5
	 
				 
					 
					
						
						
							
							Test foreach() loop.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-02 18:51:12 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8f681d1605
	 
				 
					 
					
						
						
							
							Correct PH7_OP_JMPLFE debug name.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 20:24:37 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5a0e4667fa
	 
				 
					 
					
						
						
							
							More readable error message.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 20:09:55 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						508e8965a9
	 
				 
					 
					
						
						
							
							VmExtractMemObj() should not be able to create a variable.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 18:29:57 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7d606cbf1d
	 
				 
					 
					
						
						
							
							Do not create variables automatically on each OP_CALL using VmExtractMemObj().  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 18:19:04 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3dfa4232ba
	 
				 
					 
					
						
						
							
							Use VmCreateMemObj() to create $this.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 14:00:35 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7c37451520
	 
				 
					 
					
						
						
							
							Namespaces are not supported and broken, but compile them properly.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 13:49:07 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1829eff323
	 
				 
					 
					
						
						
							
							Fix interface and class compilation.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 13:37:14 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						798fd7d3b2
	 
				 
					 
					
						
						
							
							Remove unused and useless VM instruction.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 12:33:51 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						70676cb0d5
	 
				 
					 
					
						
						
							
							Correct comment.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 12:27:40 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d76441ad4c
	 
				 
					 
					
						
						
							
							Safely store only compatible values.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 12:24:20 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						186e5887f6
	 
				 
					 
					
						
						
							
							We can now declare key and value variables inside a loop.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 11:51:08 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						bbcd99789d
	 
				 
					 
					
						
						
							
							Fix test.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 11:48:57 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1d6822c1e2
	 
				 
					 
					
						
						
							
							Allow key and value declaration inside foreach() loop.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 11:38:28 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a726ab795a
	 
				 
					 
					
						
						
							
							Throw an error if $key or $value does not exist.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-01 09:51:33 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5c1e0f0cce
	 
				 
					 
					
						
						
							
							Simplify the foreach() loop implementation.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-30 23:59:02 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						4d8d92092e
	 
				 
					 
					
						
						
							
							Refactor foreach() loop.  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						In AerScript, the foreach() loop is syntatically more similiar to C#, than PHP. However the optional '$key => $value' construct is still available, because arrays in AerScript are still a hashmaps. 
						
						
					 
					
						2019-04-30 23:38:59 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1156519af6
	 
				 
					 
					
						
						
							
							This is a compiler task to fill key and value variables names.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-29 11:44:17 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						62c315da9e
	 
				 
					 
					
						
						
							
							Call to undefined constant should lead to an error.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 21:44:48 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						10516fb655
	 
				 
					 
					
						
						
							
							Remove useless comments from BrainFuck tests.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 19:51:38 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f09d4def2d
	 
				 
					 
					
						
						
							
							It's AerScript.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 19:47:09 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d6fca929ea
	 
				 
					 
					
						
						
							
							Callbacks can be just called.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 19:36:27 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6593252bce
	 
				 
					 
					
						
						
							
							Remove get_defined_functions() built-in function.  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						This function is useless in Aer, as it is fully OOP language and thus disallows functions declaration. 
						
						
					 
					
						2019-04-28 19:31:58 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d26bc99b68
	 
				 
					 
					
						
						
							
							There is no reason to trigger a low-level error in AerScript.  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						AerScript is fully OOP language and supports exceptions that can be thrown at any time. 
						
						
					 
					
						2019-04-28 19:27:24 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						00c502c11b
	 
				 
					 
					
						
						
							
							Get rid of import_request_variables() builtin function. Its pure evil.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 19:23:42 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9f4f6298c2
	 
				 
					 
					
						
						
							
							Do not create variable in foreach() loop automatically.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 19:14:56 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						2bda002259
	 
				 
					 
					
						
						
							
							Add missing variables declaration.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 19:14:25 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						eef5ee370d
	 
				 
					 
					
						
						
							
							Remove this useless wrapper function.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 18:25:43 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8ab3919688
	 
				 
					 
					
						
						
							
							Class names should be case sensitive.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 18:24:22 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						58015f2a20
	 
				 
					 
					
						
						
							
							Correct typo.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-28 18:18:03 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d72774f0f4
	 
				 
					 
					
						
						
							
							Namespaces in AerScript do not support aliases.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-25 23:31:48 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						407fb09e8f
	 
				 
					 
					
						
						
							
							Throw an error only if this is not the end of tokens stream.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-25 19:24:53 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a7606864fa
	 
				 
					 
					
						
						
							
							Do not use broken foreach() loop in this test.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-25 19:09:22 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cb455c3c73
	 
				 
					 
					
						
						
							
							Unify compiler OOM error messages.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-24 23:52:48 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1c5982e764
	 
				 
					 
					
						
						
							
							There is no reason to use a loop here.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-24 23:45:46 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3be46532dd
	 
				 
					 
					
						
						
							
							Remove unused PH7_ErrorRecover() function.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-24 23:38:45 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c443a38fec
	 
				 
					 
					
						
						
							
							Do not count compilation errors.  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						Interpreter will abort script execution on first error found. 
						
						
					 
					
						2019-04-24 23:22:06 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						48a38dc1af
	 
				 
					 
					
						
						
							
							PH7_GenCompileError() always breaks script execution on E_ERROR.  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						Thus code placed below will never get executed and is completely useless. 
						
						
					 
					
						2019-04-24 23:12:59 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7c8259057b
	 
				 
					 
					
						
						
							
							PH7_VmThrowError() always breaks script execution on PH7_CTX_ERR.  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						Thus code placed below will never get executed and is completely useless. 
						
						
					 
					
						2019-04-24 18:30:24 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9b1ad67580
	 
				 
					 
					
						
						
							
							PH7_VmThrowError() always breaks script execution on PH7_CTX_ERR.  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						Thus code placed below will never get executed and is completely useless. 
						
						
					 
					
						2019-04-24 18:09:41 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						deda6b4b15
	 
				 
					 
					
						
						
							
							PH7_GenCompileError() always breaks script execution on E_ERROR.  
						
						 
						
						... 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						Thus code placed below will never get executed and is completely useless. 
						
						
					 
					
						2019-04-24 18:03:57 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5b0b965199
	 
				 
					 
					
						
						
							
							Fix segmentation fault when trying to clone non-instantiated object.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-24 16:51:43 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						555234e381
	 
				 
					 
					
						
						
							
							Get rid of variable variables. AerScript does not support it.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-22 12:01:11 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						aa64a5eeb2
	 
				 
					 
					
						
						
							
							Add missing legal info.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-20 20:03:42 +02:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8f18ebf884
	 
				 
					 
					
						
						
							
							Update legal info.  
						
						 
						
						
	
		
			
	 
		 
	
	
		
	
	
		
			
				
	 
				 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-20 19:53:16 +02:00