Rafal Kupiec
|
5f57ba54a4
|
Left operand must be modifiable when storing some value.
|
2019-04-17 08:59:42 +02:00 |
Rafal Kupiec
|
395f6c446c
|
Get rid of known from PHP 'elseif' construction.
|
2019-04-17 07:55:32 +02:00 |
Piotr Likoski
|
6b18e204cd
|
Always pop the l-value on variable declaration.
Otherwise, it might lead to unexpected behaviour including protected memory access and segmentation fault.
This finally fixes #49.
|
2019-04-16 20:15:38 +02:00 |
Rafal Kupiec
|
88d382b76b
|
Add missing VM OP descriptions.
|
2019-04-16 19:12:39 +02:00 |
Rafal Kupiec
|
07e3a09999
|
Enter and leave a loop frame on every iteration.
This fixes strict variable declaration inside loops.
|
2019-04-16 13:51:58 +02:00 |
Rafal Kupiec
|
ba8e9080ef
|
Implement OP_JMPLFB & OP_JMPLFE VM instructions.
|
2019-04-16 12:46:58 +02:00 |
Rafal Kupiec
|
ef4f994e8b
|
Do not allow 'break' statement to take a parameter. This is strange construction introduced in PHP.
|
2019-04-16 12:34:53 +02:00 |
Rafal Kupiec
|
5fddbf8737
|
Do not allow 'continue' statement to take a parameter. This is strange construction introduced in PHP.
|
2019-04-16 12:32:01 +02:00 |
Rafal Kupiec
|
89f19133d5
|
Rename VM's jump instructions for better readability.
|
2019-04-16 08:14:16 +02:00 |
Rafal Kupiec
|
eb80dced3e
|
Correct comment.
|
2019-04-15 20:00:54 +02:00 |
Rafal Kupiec
|
f9b518138e
|
Cleanup OP_LOAD instruction.
|
2019-04-15 19:44:49 +02:00 |
Rafal Kupiec
|
517dffcbc1
|
Separate VM instruction for variable declaration (OP_DECLARE).
|
2019-04-15 19:18:29 +02:00 |
Rafal Kupiec
|
1b248a17e7
|
Query the top active as well as all loop frames.
|
2019-04-15 18:32:30 +02:00 |
Rafal Kupiec
|
661158d249
|
Simply throw memory error.
|
2019-04-15 17:41:29 +02:00 |
Rafal Kupiec
|
94e06f3d3a
|
Do not duplicate the code; make a use of VmCreateMemObj().
|
2019-04-15 17:14:14 +02:00 |
Rafal Kupiec
|
9e06322b57
|
Implement VmCreateMemObj().
|
2019-04-15 17:04:44 +02:00 |
Rafal Kupiec
|
c51b3dfa8a
|
Revert 89d5158d7e and a8a1a2cd51 . Fix should be based on VM frames.
|
2019-04-13 14:39:57 +02:00 |
Rafal Kupiec
|
89d5158d7e
|
Fix build.
|
2019-04-11 13:31:17 +02:00 |
Rafal Kupiec
|
a8a1a2cd51
|
Fix variable declaration in loops.
|
2019-04-11 13:28:47 +02:00 |
Rafal Kupiec
|
ee0d189f0a
|
Add comments.
|
2019-04-11 11:37:07 +02:00 |
Rafal Kupiec
|
cdc0dade2a
|
Allow to store a character in string variable.
|
2019-04-11 11:33:00 +02:00 |
Rafal Kupiec
|
4eaf6a7117
|
AerScript is strict type hinting language, thus OP_TEQ & OP_TNE are not needed here.
|
2019-04-11 06:25:20 +02:00 |
Rafal Kupiec
|
2a4e47e782
|
I hope this finally fixes the default argument value.
|
2019-04-10 18:32:53 +02:00 |
Rafal Kupiec
|
527a6ad689
|
Mark argument as well as object, when class name is supplied.
|
2019-04-10 13:58:24 +02:00 |
Rafal Kupiec
|
95c9fd0f1f
|
Corrections in builtin library.
|
2019-04-10 12:44:44 +02:00 |
Rafal Kupiec
|
d8f9db8f9a
|
Proper implementation of is_callback() & is_callable(). First one only performs a check if variable type is callback, while the second checks if function exists and if can be called.
|
2019-04-10 09:45:00 +02:00 |
Rafal Kupiec
|
65e38a364d
|
Do not try to call an array.
|
2019-04-10 09:26:06 +02:00 |
Rafal Kupiec
|
d6434ba19e
|
Try to report some line.
|
2019-04-10 09:18:26 +02:00 |
Rafal Kupiec
|
447910ce2e
|
Fix callbacks.
|
2019-04-10 09:08:10 +02:00 |
Rafal Kupiec
|
f0e50678e3
|
Optimize the code a bit.
|
2019-04-10 08:52:06 +02:00 |
Rafal Kupiec
|
8810a86a2c
|
Fix for typoecasting callback to string.
|
2019-04-10 08:50:04 +02:00 |
Rafal Kupiec
|
b0165e5702
|
Do not reset blob when typecasting from string to callback.
|
2019-04-10 06:57:14 +02:00 |
Rafal Kupiec
|
77ebce7acf
|
Parser takes care about nested arrays.
|
2019-04-10 06:18:49 +02:00 |
Rafal Kupiec
|
77795bea4c
|
Do not check for return value on OP_DONE.
|
2019-04-08 13:51:54 +02:00 |
Rafal Kupiec
|
598dc9ce51
|
At least try to call callback and do not check for return value on OP_DONE.
|
2019-04-08 13:49:12 +02:00 |
Rafal Kupiec
|
d74b182235
|
Properly typecast callback to boolean.
|
2019-04-08 13:32:50 +02:00 |
Rafal Kupiec
|
1679420f4c
|
Get rid of some invisible escape characters.
|
2019-04-06 17:00:15 +02:00 |
Rafal Kupiec
|
d34c8ceafb
|
Fix void dump.
|
2019-04-06 16:51:32 +02:00 |
Rafal Kupiec
|
7443663dd8
|
Fixes in PH7_OP_LOAD_IDX instruction.
|
2019-04-06 09:36:08 +02:00 |
Rafal Kupiec
|
f6e2b549b6
|
Access to undefined array index should be reported as error.
|
2019-04-06 09:21:09 +02:00 |
Rafal Kupiec
|
72c420cc85
|
Correct another typo.
|
2019-04-05 20:21:26 +02:00 |
Rafal Kupiec
|
a501dea661
|
Fix a typo.
|
2019-04-05 20:17:44 +02:00 |
Rafal Kupiec
|
25001ae746
|
This should be an error, really.
|
2019-04-05 20:14:08 +02:00 |
Rafal Kupiec
|
2de455aa01
|
Fix formatting.
|
2019-04-05 20:12:55 +02:00 |
Rafal Kupiec
|
95fba30f9b
|
Better way to check arguments compatibility.
|
2019-04-05 20:07:56 +02:00 |
Rafal Kupiec
|
a06573408e
|
Better way to check arguments compatibility.
|
2019-04-05 19:59:15 +02:00 |
Rafal Kupiec
|
39f698476f
|
This is not the right way to go - revert 465336b23b .
|
2019-04-05 12:30:38 +02:00 |
Rafal Kupiec
|
465336b23b
|
Mark void variable as well as NULL, and dump NULL as void.
|
2019-04-05 11:52:15 +02:00 |
Rafal Kupiec
|
a1151d598b
|
Do not emit warning when assigning NULL to resource.
|
2019-04-05 11:42:40 +02:00 |
Rafal Kupiec
|
fcd4e8d6a6
|
The readdir() function should return empty string instead of false.
|
2019-04-05 07:54:47 +02:00 |