Rafal Kupiec
2f3ce65289
Correct comment to if/else statements.
2019-05-02 19:03:47 +02:00
Rafal Kupiec
73c1a814f5
Test foreach() loop.
2019-05-02 18:51:12 +02:00
Rafal Kupiec
8f681d1605
Correct PH7_OP_JMPLFE debug name.
2019-05-01 20:24:37 +02:00
Rafal Kupiec
5a0e4667fa
More readable error message.
2019-05-01 20:09:55 +02:00
Rafal Kupiec
508e8965a9
VmExtractMemObj() should not be able to create a variable.
2019-05-01 18:29:57 +02:00
Rafal Kupiec
7d606cbf1d
Do not create variables automatically on each OP_CALL using VmExtractMemObj().
2019-05-01 18:19:04 +02:00
Rafal Kupiec
3dfa4232ba
Use VmCreateMemObj() to create $this.
2019-05-01 14:00:35 +02:00
Rafal Kupiec
7c37451520
Namespaces are not supported and broken, but compile them properly.
2019-05-01 13:49:07 +02:00
Rafal Kupiec
1829eff323
Fix interface and class compilation.
2019-05-01 13:37:14 +02:00
Rafal Kupiec
798fd7d3b2
Remove unused and useless VM instruction.
2019-05-01 12:33:51 +02:00
Rafal Kupiec
70676cb0d5
Correct comment.
2019-05-01 12:27:40 +02:00
Rafal Kupiec
d76441ad4c
Safely store only compatible values.
2019-05-01 12:24:20 +02:00
Rafal Kupiec
186e5887f6
We can now declare key and value variables inside a loop.
2019-05-01 11:51:08 +02:00
Rafal Kupiec
bbcd99789d
Fix test.
2019-05-01 11:48:57 +02:00
Rafal Kupiec
1d6822c1e2
Allow key and value declaration inside foreach() loop.
2019-05-01 11:38:28 +02:00
Rafal Kupiec
a726ab795a
Throw an error if $key or $value does not exist.
2019-05-01 09:51:33 +02:00
Rafal Kupiec
5c1e0f0cce
Simplify the foreach() loop implementation.
2019-04-30 23:59:02 +02:00
Rafal Kupiec
4d8d92092e
Refactor foreach() loop.
...
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
Rafal Kupiec
1156519af6
This is a compiler task to fill key and value variables names.
2019-04-29 11:44:17 +02:00
Rafal Kupiec
62c315da9e
Call to undefined constant should lead to an error.
2019-04-28 21:44:48 +02:00
Rafal Kupiec
10516fb655
Remove useless comments from BrainFuck tests.
2019-04-28 19:51:38 +02:00
Rafal Kupiec
f09d4def2d
It's AerScript.
2019-04-28 19:47:09 +02:00
Rafal Kupiec
d6fca929ea
Callbacks can be just called.
2019-04-28 19:36:27 +02:00
Rafal Kupiec
6593252bce
Remove get_defined_functions() built-in function.
...
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
Rafal Kupiec
d26bc99b68
There is no reason to trigger a low-level error in AerScript.
...
AerScript is fully OOP language and supports exceptions that can be thrown at any time.
2019-04-28 19:27:24 +02:00
Rafal Kupiec
00c502c11b
Get rid of import_request_variables() builtin function. Its pure evil.
2019-04-28 19:23:42 +02:00
Rafal Kupiec
9f4f6298c2
Do not create variable in foreach() loop automatically.
2019-04-28 19:14:56 +02:00
Rafal Kupiec
2bda002259
Add missing variables declaration.
2019-04-28 19:14:25 +02:00
Rafal Kupiec
eef5ee370d
Remove this useless wrapper function.
2019-04-28 18:25:43 +02:00
Rafal Kupiec
8ab3919688
Class names should be case sensitive.
2019-04-28 18:24:22 +02:00
Rafal Kupiec
58015f2a20
Correct typo.
2019-04-28 18:18:03 +02:00
Rafal Kupiec
d72774f0f4
Namespaces in AerScript do not support aliases.
2019-04-25 23:31:48 +02:00
Rafal Kupiec
407fb09e8f
Throw an error only if this is not the end of tokens stream.
2019-04-25 19:24:53 +02:00
Rafal Kupiec
a7606864fa
Do not use broken foreach() loop in this test.
2019-04-25 19:09:22 +02:00
Rafal Kupiec
cb455c3c73
Unify compiler OOM error messages.
2019-04-24 23:52:48 +02:00
Rafal Kupiec
1c5982e764
There is no reason to use a loop here.
2019-04-24 23:45:46 +02:00
Rafal Kupiec
3be46532dd
Remove unused PH7_ErrorRecover() function.
2019-04-24 23:38:45 +02:00
Rafal Kupiec
c443a38fec
Do not count compilation errors.
...
Interpreter will abort script execution on first error found.
2019-04-24 23:22:06 +02:00
Rafal Kupiec
48a38dc1af
PH7_GenCompileError() always breaks script execution on E_ERROR.
...
Thus code placed below will never get executed and is completely useless.
2019-04-24 23:12:59 +02:00
Rafal Kupiec
7c8259057b
PH7_VmThrowError() always breaks script execution on PH7_CTX_ERR.
...
Thus code placed below will never get executed and is completely useless.
2019-04-24 18:30:24 +02:00
Rafal Kupiec
9b1ad67580
PH7_VmThrowError() always breaks script execution on PH7_CTX_ERR.
...
Thus code placed below will never get executed and is completely useless.
2019-04-24 18:09:41 +02:00
Rafal Kupiec
deda6b4b15
PH7_GenCompileError() always breaks script execution on E_ERROR.
...
Thus code placed below will never get executed and is completely useless.
2019-04-24 18:03:57 +02:00
Rafal Kupiec
5b0b965199
Fix segmentation fault when trying to clone non-instantiated object.
2019-04-24 16:51:43 +02:00
Rafal Kupiec
555234e381
Get rid of variable variables. AerScript does not support it.
2019-04-22 12:01:11 +02:00
Rafal Kupiec
aa64a5eeb2
Add missing legal info.
2019-04-20 20:03:42 +02:00
Rafal Kupiec
8f18ebf884
Update legal info.
2019-04-20 19:53:16 +02:00
Rafal Kupiec
c9203b6c91
New source code legal format.
2019-04-20 19:29:15 +02:00
Rafal Kupiec
13ea9825b8
Bubble sort algorithm in AerScript.
2019-04-20 16:56:53 +02:00
Rafal Kupiec
8331d36869
Program to calculate Euler's Totient Function.
2019-04-20 14:17:06 +02:00
Rafal Kupiec
ed8f3f341e
Remove array_same() builtin function.
...
After last change, AerScript does not pass arrays as reference, so there is no chance to get this function return true, unless you pass array as reference.
2019-04-20 13:59:10 +02:00