5c824ec67d
	 
					 
					
						
						
							
							Do not set any recursion depth limit.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-06-10 12:11:55 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cbe4f29909
	 
					 
					
						
						
							
							Define 'auto' keyword.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-06-08 12:19:00 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d0995a4239
	 
					 
					
						
						
							
							Rename 'instanceof' to 'is'.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-06-06 11:53:17 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5948c3a5b6
	 
					 
					
						
						
							
							Remove unused function argument.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-06-05 17:30:17 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9fe4aa653f
	 
					 
					
						
						
							
							We will store 'finally' block bytecode here.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-06-04 06:31:07 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d57d6caf2d
	 
					 
					
						
						
							
							Add 'finally' frame definition.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-06-03 19:21:03 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d0840d7eea
	 
					 
					
						
						
							
							Cleanup after switching from 'parent' constant to '$parent' variable.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-06-03 12:31:28 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						625a386b69
	 
					 
					
						
						
							
							Get rid of 'self' statement.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-06-03 12:29:21 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b1b78433dd
	 
					 
					
						
						
							
							Clean up $base statement.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-30 18:16:29 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e654e42b07
	 
					 
					
						
						
							
							Store class directly in function container.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-22 08:33:56 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ddd46a4e80
	 
					 
					
						
						
							
							Quick small cleanup.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-21 19:18:52 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3cca5faa76
	 
					 
					
						
						
							
							Store variable type in dedicated field.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-21 14:49:36 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0f4a666b89
	 
					 
					
						
						
							
							Variable type should be separated from control flags.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-21 10:58:34 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1acbd21caf
	 
					 
					
						
						
							
							Store a pointer to class container in each method.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-21 08:40:10 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e8c675bd8e
	 
					 
					
						
						
							
							Store a pointer to class container to reduce memory usage.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-16 15:41:37 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7203492763
	 
					 
					
						
						
							
							Store a class name in each attribute.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-16 13:25:06 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8aed5af238
	 
					 
					
						
						
							
							Correct indentation.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-15 20:15:26 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f2116a6461
	 
					 
					
						
						
							
							Always use HTTPS when possible.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-15 20:02:39 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						07bd3ceec3
	 
					 
					
						
						
							
							Reimplement 'parent' construct as variable $parent.  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						This commit also adds new controls to variables, which prevents from re-assigning a value when set. Thanks to that, both $this and $parent cannot be overwritten by using OP_STORE instruction. Other instructions still need some
work. 
						
						
					 
					
						2019-05-08 08:26:48 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0c8ca53f70
	 
					 
					
						
						
							
							Continuous numeration.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-07 09:24:43 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c4b63a3018
	 
					 
					
						
						
							
							Rename OP_LOAD instruction to OP_LOADV.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-05 09:33:06 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						23900f2aed
	 
					 
					
						
						
							
							Remove unused compiler function - PH7_CompileLangConstruct().  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						In AerScript, there are no such language constructs, that have syntax similiar to functions. If so, it is just a builtin function. 
						
						
					 
					
						2019-05-04 18:53:11 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b36510943d
	 
					 
					
						
						
							
							Implement 'define' statement for defining constants globally.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-04 17:08:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						03fc167be1
	 
					 
					
						
						
							
							Proper implementation of so hated 'goto' statement.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-05-03 10:35:54 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						291b6f0607
	 
					 
					
						
						
							
							Get rid of backstick quoted strings (shell commands).  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-18 06:48:51 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						395f6c446c
	 
					 
					
						
						
							
							Get rid of known from PHP 'elseif' construction.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-17 07:55:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ba8e9080ef
	 
					 
					
						
						
							
							Implement OP_JMPLFB & OP_JMPLFE VM instructions.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-16 12:46:58 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						89f19133d5
	 
					 
					
						
						
							
							Rename VM's jump instructions for better readability.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-16 08:14:16 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						517dffcbc1
	 
					 
					
						
						
							
							Separate VM instruction for variable declaration (OP_DECLARE).  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-15 19:18:29 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0f0fc01a96
	 
					 
					
						
						
							
							We need to distinguish the loop frames.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-13 20:21:47 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4eaf6a7117
	 
					 
					
						
						
							
							AerScript is strict type hinting language, thus OP_TEQ & OP_TNE are not needed here.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-11 06:25:20 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						aaef03396c
	 
					 
					
						
						
							
							Implement PH7_MemObjSafeStore().  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-04-02 19:44:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3f205c19ce
	 
					 
					
						
						
							
							Get rid of dirty references. Return a reference & pass-by reference are still working.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-29 22:55:49 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						140bd35f93
	 
					 
					
						
						
							
							Set proper type for all class attributes.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-29 09:00:55 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						14f958a4b2
	 
					 
					
						
						
							
							Implement PH7_HashmapCast().  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-27 09:42:23 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a87471e1e3
	 
					 
					
						
						
							
							The empty() function is useless in Aer.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-24 09:22:10 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4f29507c0d
	 
					 
					
						
						
							
							The isset() function always results in true, thus it is useless. If passed as argument variable is not set, the interpreter will throw an error.  
						
						
	
		
			
	 
	
	
						
						
					 
					
						2019-03-23 19:51:19 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						135e7c9698
	 
					 
					
						
						
							
							VAR & FUNCTION are no longer valid keywords.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-22 18:47:46 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						59e2743a60
	 
					 
					
						
						
							
							Simply release the object, no need to use a wrapper function.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-22 18:42:46 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						98a5fc1af0
	 
					 
					
						
						
							
							No such operator.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-22 18:34:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						154469f475
	 
					 
					
						
						
							
							Variable cannot be typecasted to NULL.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-22 18:33:39 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9a41f7195d
	 
					 
					
						
						
							
							AerScript does not implement any error control operator.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-22 17:32:40 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						65b178932a
	 
					 
					
						
						
							
							Get rid of array() & list() for the new syntax.  
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	 The build was successful. 
				
			 
		
		
	 
 
	 
						
						
					 
					
						2019-03-22 15:54:46 +01:00