168 Commits (c730082fa0a02fd56a30a65ea44b1737623b3af1)

Author SHA1 Message Date
  Rafal Kupiec c730082fa0
Do not issue OP_LF_STOP on 'break' inside 'switch' statement. 2 years ago
  Rafal Kupiec fd0685f16e
Code formatting. 2 years ago
  Rafal Kupiec ad5784f81f
Reimplement import() builtin function as a global-scope statement. This fixes #58. 2 years ago
  Rafal Kupiec 9290db2504
Another changes in file inclusion mechanism (#58): 2 years ago
  Rafal Kupiec 63fd76c9c8
Rework PH7_GenStateGetGlobalScopeHandler() function. 2 years ago
  Rafal Kupiec e1e6a19f30
Update code formatting. 2 years ago
  Rafal Kupiec f3972a9ca2
Rename LFB/LFE operators. 2 years ago
  Rafal Kupiec 8b2086402e
Fix all compiler warnings in AerScript compiler. 2 years ago
  Rafal Kupiec e40dc34026
Pass proper line number from compiler to the virtual machine. 2 years ago
  Rafal Kupiec bd24aa0605
Correct more compiler warnings. 2 years ago
  Rafal Kupiec bffd44a7b4
Get rid of some annoying compiler warnings. 2 years ago
  Rafal Kupiec c7b6e76d0d
Get rid of unused variables/labels/etc. 2 years ago
  Rafal Kupiec 6c277c1eca
Allow implicitly-typed variable declarations inside 'for' and 'foreach' loops. 2 years ago
  Rafal Kupiec 0327c3130f
Do not allow to initialize an implicitly-typed variable with an array initializer. 2 years ago
  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. 2 years ago
  Rafal Kupiec 407fb09e8f
Throw an error only if this is not the end of tokens stream. 2 years ago
  Rafal Kupiec cb455c3c73
Unify compiler OOM error messages. 2 years ago