154 Commits (78c416c6b86a37a370c3000328957fc09e80364a)

Author SHA1 Message Date
Rafal Kupiec 78c416c6b8
Implement the implicit 'auto' type. 2 years ago
Rafal Kupiec a00d30afa2
Set NULL data type instead of throwing an error. 2 years ago
Rafal Kupiec 65aaf7be67
Correct error message. 2 years ago
Rafal Kupiec 343c25ca77
Fix for the segmentation fault. 2 years ago
Rafal Kupiec 46458d1e1b
Prefix variable name by dollar '$' sign. 2 years ago
Rafal Kupiec a5af1d473f
Compile the typedef for OP_IS instruction. 2 years ago
Rafal Kupiec 045ebe92ae
At least compile the 'finally' block for now. 2 years ago
Rafal Kupiec d0840d7eea
Cleanup after switching from 'parent' constant to '$parent' variable. 2 years ago
Rafal Kupiec 625a386b69
Get rid of 'self' statement. 2 years ago
Rafal Kupiec cd9ff68ae9
Completely disallow static methods in interfaces. 2 years ago
Rafal Kupiec 984429bc55
Disallow static method declarations in interface. 2 years ago
Rafal Kupiec 53199cac4e
Another fixes to OOP-related error reporting. 2 years ago
Rafal Kupiec ba1c840009
Allow a 'final virtual' classes to be declared. 2 years ago
Rafal Kupiec 3cca5faa76
Store variable type in dedicated field. 2 years ago
Rafal Kupiec 55acf8111f
Assume private visibility for all class members by default. 2 years ago
Rafal Kupiec e8c675bd8e
Store a pointer to class container to reduce memory usage. 2 years ago
Rafal Kupiec 7203492763
Store a class name in each attribute. 2 years ago
Rafal Kupiec a2fb0b9ae5
Get rid of 'parent' constant. Use variable instead. 2 years ago
Rafal Kupiec d3ae1c1bf4
Only identifiers should be allowed as constant name. 2 years ago
Rafal Kupiec 0a6b5a6f42
The 'self' and 'parent' keywords should be resolved at compile time. 2 years ago
Rafal Kupiec c4b63a3018
Rename OP_LOAD instruction to OP_LOADV. 2 years ago
Rafal Kupiec 23900f2aed
Remove unused compiler function - PH7_CompileLangConstruct(). 2 years ago
Rafal Kupiec b36510943d
Implement 'define' statement for defining constants globally. 2 years ago
Rafal Kupiec ab8bf48485
Make constant declarations local. 2 years ago
Rafal Kupiec e6b7f1be2c
Always emit OP_JMPLFE as goto can be used inside a loop and frame has to be left. 2 years ago
Rafal Kupiec 03fc167be1
Proper implementation of so hated 'goto' statement. 2 years ago
Rafal Kupiec 2f3ce65289
Correct comment to if/else statements. 2 years ago
Rafal Kupiec 5a0e4667fa
More readable error message. 2 years ago
Rafal Kupiec 7c37451520
Namespaces are not supported and broken, but compile them properly. 2 years ago
Rafal Kupiec 1829eff323
Fix interface and class compilation. 2 years ago
Rafal Kupiec 1d6822c1e2
Allow key and value declaration inside foreach() loop. 2 years ago
Rafal Kupiec 5c1e0f0cce
Simplify the foreach() loop implementation. 2 years ago
Rafal Kupiec 4d8d92092e
Refactor foreach() loop. 2 years ago
Rafal Kupiec d72774f0f4
Namespaces in AerScript do not support aliases. 3 years ago
Rafal Kupiec 407fb09e8f
Throw an error only if this is not the end of tokens stream. 3 years ago
Rafal Kupiec cb455c3c73
Unify compiler OOM error messages. 3 years ago
Rafal Kupiec 1c5982e764
There is no reason to use a loop here. 3 years ago
Rafal Kupiec 3be46532dd
Remove unused PH7_ErrorRecover() function. 3 years ago
Rafal Kupiec c443a38fec
Do not count compilation errors. 3 years ago
Rafal Kupiec 48a38dc1af
PH7_GenCompileError() always breaks script execution on E_ERROR. 3 years ago
Rafal Kupiec 555234e381
Get rid of variable variables. AerScript does not support it. 3 years ago
Rafal Kupiec 8f18ebf884
Update legal info. 3 years ago
Rafal Kupiec c9203b6c91
New source code legal format. 3 years ago
Rafal Kupiec 929d7b83fe
Cleanup unused functions. 3 years ago
Rafal Kupiec bd22425b46
Do not allow 'continue' statement in a switch case. 3 years ago
Rafal Kupiec 395f6c446c
Get rid of known from PHP 'elseif' construction. 3 years ago
Piotr Likoski 6b18e204cd
Always pop the l-value on variable declaration. 3 years ago
Rafal Kupiec 07e3a09999
Enter and leave a loop frame on every iteration. 3 years ago
Rafal Kupiec ef4f994e8b
Do not allow 'break' statement to take a parameter. This is strange construction introduced in PHP. 3 years ago
Rafal Kupiec 5fddbf8737
Do not allow 'continue' statement to take a parameter. This is strange construction introduced in PHP. 3 years ago