Rafal Kupiec
186e5887f6
We can now declare key and value variables inside a loop.
1 year ago
Rafal Kupiec
bbcd99789d
Fix test.
1 year ago
Rafal Kupiec
1d6822c1e2
Allow key and value declaration inside foreach() loop.
1 year ago
Rafal Kupiec
a726ab795a
Throw an error if $key or $value does not exist.
1 year ago
Rafal Kupiec
5c1e0f0cce
Simplify the foreach() loop implementation.
1 year ago
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.
1 year ago
Rafal Kupiec
1156519af6
This is a compiler task to fill key and value variables names.
1 year ago
Rafal Kupiec
62c315da9e
Call to undefined constant should lead to an error.
1 year ago
Rafal Kupiec
10516fb655
Remove useless comments from BrainFuck tests.
1 year ago
Rafal Kupiec
f09d4def2d
It's AerScript.
1 year ago
Rafal Kupiec
d6fca929ea
Callbacks can be just called.
1 year ago
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.
1 year ago
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.
1 year ago
Rafal Kupiec
00c502c11b
Get rid of import_request_variables() builtin function. Its pure evil.
1 year ago
Rafal Kupiec
9f4f6298c2
Do not create variable in foreach() loop automatically.
1 year ago
Rafal Kupiec
2bda002259
Add missing variables declaration.
1 year ago
Rafal Kupiec
eef5ee370d
Remove this useless wrapper function.
1 year ago
Rafal Kupiec
8ab3919688
Class names should be case sensitive.
1 year ago
Rafal Kupiec
58015f2a20
Correct typo.
1 year ago
Rafal Kupiec
d72774f0f4
Namespaces in AerScript do not support aliases.
1 year ago
Rafal Kupiec
407fb09e8f
Throw an error only if this is not the end of tokens stream.
1 year ago
Rafal Kupiec
a7606864fa
Do not use broken foreach() loop in this test.
1 year ago
Rafal Kupiec
cb455c3c73
Unify compiler OOM error messages.
1 year ago
Rafal Kupiec
1c5982e764
There is no reason to use a loop here.
1 year ago
Rafal Kupiec
3be46532dd
Remove unused PH7_ErrorRecover() function.
1 year ago
Rafal Kupiec
c443a38fec
Do not count compilation errors.
Interpreter will abort script execution on first error found.
1 year ago
Rafal Kupiec
48a38dc1af
PH7_GenCompileError() always breaks script execution on E_ERROR.
Thus code placed below will never get executed and is completely useless.
1 year ago
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.
1 year ago
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.
1 year ago
Rafal Kupiec
deda6b4b15
PH7_GenCompileError() always breaks script execution on E_ERROR.
Thus code placed below will never get executed and is completely useless.
1 year ago
Rafal Kupiec
5b0b965199
Fix segmentation fault when trying to clone non-instantiated object.
1 year ago
Rafal Kupiec
555234e381
Get rid of variable variables. AerScript does not support it.
1 year ago
Rafal Kupiec
aa64a5eeb2
Add missing legal info.
1 year ago
Rafal Kupiec
8f18ebf884
Update legal info.
1 year ago
Rafal Kupiec
c9203b6c91
New source code legal format.
1 year ago
Rafal Kupiec
13ea9825b8
Bubble sort algorithm in AerScript.
1 year ago
Rafal Kupiec
8331d36869
Program to calculate Euler's Totient Function.
1 year ago
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.
1 year ago
Rafal Kupiec
3f1d429d5f
The program code for printing Pascal’s Triangle.
1 year ago
Rafal Kupiec
18e77b9754
array_copy() is no longer needed.
AerScript makes a copy of all arrays, except a situation when array is passed by reference. Thanks to that this ugly hack called an extension, introduced by Symisc can be removed.
1 year ago
Rafal Kupiec
d819820798
Always make an array copy. Fixes #48 .
1 year ago
Rafal Kupiec
e794ffd97b
Fix PH7_HashmapDup().
This function needs to store the next index. Otherwise it will start to count from beginning, duplicating existing keys.
1 year ago
Rafal Kupiec
16c6b8d970
Array subscription test.
1 year ago
Rafal Kupiec
a0405f2267
Always perform type validation when inserting value to an array.
1 year ago
Rafal Kupiec
80abccc3ad
This variable contains an array of booleans, really.
And if we managed to insert a boolean value to an array of chars, this means we have a bug somewhere.
1 year ago
Rafal Kupiec
291b6f0607
Get rid of backstick quoted strings (shell commands).
1 year ago
Rafal Kupiec
0e8a2372dd
Cleanup lexer from no longer used operators.
1 year ago
Rafal Kupiec
929d7b83fe
Cleanup unused functions.
1 year ago
Rafal Kupiec
0b04e0f7c5
Test program entry point.
1 year ago
Rafal Kupiec
407bcf5a29
Fix segmentation fault on Program::__construct() call.
1 year ago