Piotr Likoski
843c2d67d9
I am pretty sure we want to use the number of elements in array in this place, not the actual size of array.
...
The size of a structure is greater than the sum of its parts because of what is called packing. A particular processor has a preferred data size that it works with. Most modern processors' preferred size if 32-bits (4 bytes).
2019-07-12 14:36:56 +02:00
Rafal Kupiec
dcf37af75e
Implement a NULL-coalescing '??' operator.
2019-06-21 00:34:41 +02:00
Rafal Kupiec
bd24aa0605
Correct more compiler warnings.
2019-06-19 09:31:40 +02:00
Rafal Kupiec
0ef6b449c6
Make a free slot in operator precedence for NULL-coalescing operator.
2019-06-11 09:35:47 +02:00
Rafal Kupiec
fa5c2e1f5e
Parse the OP_IS instruction.
2019-06-07 10:11:30 +02:00
Rafal Kupiec
dbd39be5ed
Allow the array typedef constructs to be used not only when declaring a variable.
2019-06-07 09:43:11 +02:00
Rafal Kupiec
b15d0d33fd
Improve operator precedence.
2019-06-06 12:38:11 +02:00
Rafal Kupiec
734710ae78
Rename 'instanceof' to 'is'.
2019-06-06 12:35:35 +02:00
Rafal Kupiec
d0995a4239
Rename 'instanceof' to 'is'.
2019-06-06 11:53:17 +02:00
Rafal Kupiec
f2116a6461
Always use HTTPS when possible.
2019-05-15 20:02:39 +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
c9203b6c91
New source code legal format.
2019-04-20 19:29:15 +02:00
Rafal Kupiec
5f57ba54a4
Left operand must be modifiable when storing some value.
2019-04-17 08:59:42 +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
3f205c19ce
Get rid of dirty references. Return a reference & pass-by reference are still working.
2019-03-29 22:55:49 +01:00
Rafal Kupiec
66b55e35a9
Enable reference operator.
2019-03-28 07:58:53 +01:00
Rafal Kupiec
9a41f7195d
AerScript does not implement any error control operator.
2019-03-22 17:32:40 +01:00
Rafal Kupiec
65b178932a
Get rid of array() & list() for the new syntax.
2019-03-22 15:54:46 +01:00
Rafal Kupiec
412a70c0c6
Allow the array to be defined inside curly braces, instead of using array() keyword.
2019-03-21 17:27:19 +01:00
Rafal Kupiec
8aacf7c70e
Do not use PH7_KEYWORD_FUNCTION for closure declaration.
2019-03-09 19:43:56 +01:00
Rafal Kupiec
0524092539
Add missing space in error message
2019-03-09 16:49:46 +01:00
Rafal Kupiec
fa0b487cc0
Implement typecasting to resource data type.
2019-02-08 14:06:39 +01:00
Rafal Kupiec
2949c8dcfb
Fix typo.
2018-12-20 18:20:18 +01:00
Rafal Kupiec
0278f0a630
Add callback cast operator.
2018-12-13 09:31:32 +01:00
Rafal Kupiec
d65a529d21
Initial support for char data type.
2018-11-26 20:37:51 +01:00
Rafal Kupiec
174ecb2a38
Initial support for void type.
2018-11-23 09:19:37 +01:00
Rafal Kupiec
8724cebf71
Do not actually support references in the same scope.
2018-10-28 19:45:31 +01:00
Rafal Kupiec
9884f8288b
Do not allow typecasting to unset a variable.
2018-09-18 22:11:57 +02:00
Rafal Kupiec
a8a88b4746
Compile closures.
2018-08-16 18:40:23 +02:00
Rafal Kupiec
f28c671e69
Compile closures.
2018-08-16 18:31:12 +02:00
Rafal Kupiec
2c28b63d90
Properly interpret language constructs, fixes #28 .
2018-08-16 17:42:30 +02:00
Rafal Kupiec
9100bf0696
Treat 'import' as a special keyword.
2018-08-16 16:32:28 +02:00
Rafal Kupiec
b5fe36c14b
There is no need for include_once() and require_once()
...
Aer is object-oriented language and the code it includes is executed in the global scope. Global scope can contain only classes and namespaces and they cannot be re-declared. Thus every file can be included just once. We can
leave this to programmer, or take care about it on interpreter side. With this commit, include() and require() builtin functions allows to load file just once. Thanks to that, there is no need for include_once() and
require_once(). Done in scope of #30 .
2018-08-16 16:12:29 +02:00
Rafal Kupiec
7c7a837efb
Correct another bunch of typos.
2018-08-15 19:06:00 +02:00
Rafal Kupiec
59c15caf4e
Use something more human readable
2018-08-12 21:16:05 +02:00
Rafal Kupiec
b61fc9d3e6
Rename function to save it from typo
2018-08-11 23:21:40 +02:00
Rafal Kupiec
a4e6962a67
Free dot operator for further usage
2018-08-07 08:13:44 +02:00
Rafal Kupiec
4bbdc20174
This commit contains several changes:
...
* print() is now treated as standard function
* get rid of echo() function
* fix test suite
and it fixes #26 .
2018-08-06 17:18:27 +02:00
Rafal Kupiec
b7792dfc3d
P# is not going to derive namespace syntax from PHP, but from C++.
2018-07-30 16:55:49 +02:00
Rafal Kupiec
48b2e9d1c6
Update comments
2018-07-28 23:40:00 +02:00
Rafal Kupiec
eb088cd0d7
Correcting another typos in code
2018-07-28 12:56:19 +02:00
Rafal Kupiec
abb91a9874
Reorganize the repository for new build system
2018-07-20 22:35:09 +02:00