Commit Graph

42 Commits

Author SHA1 Message Date
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 build was successful. Details
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.
The build was successful. Details
2019-06-21 00:34:41 +02:00
Rafal Kupiec bd24aa0605
Correct more compiler warnings.
The build was successful. Details
2019-06-19 09:31:40 +02:00
Rafal Kupiec 0ef6b449c6
Make a free slot in operator precedence for NULL-coalescing operator.
The build was successful. Details
2019-06-11 09:35:47 +02:00
Rafal Kupiec fa5c2e1f5e
Parse the OP_IS instruction.
The build was successful. Details
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.
The build was successful. Details
2019-06-07 09:43:11 +02:00
Rafal Kupiec b15d0d33fd
Improve operator precedence.
The build was successful. Details
2019-06-06 12:38:11 +02:00
Rafal Kupiec 734710ae78
Rename 'instanceof' to 'is'.
The build was successful. Details
2019-06-06 12:35:35 +02:00
Rafal Kupiec d0995a4239
Rename 'instanceof' to 'is'.
The build was successful. Details
2019-06-06 11:53:17 +02:00
Rafal Kupiec f2116a6461
Always use HTTPS when possible.
The build was successful. Details
2019-05-15 20:02:39 +02:00
Rafal Kupiec deda6b4b15
PH7_GenCompileError() always breaks script execution on E_ERROR.
The build was successful. Details
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.
The build was successful. Details
2019-04-20 19:29:15 +02:00
Rafal Kupiec 5f57ba54a4
Left operand must be modifiable when storing some value.
The build was successful. Details
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.
The build was successful. Details
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.
The build was successful. Details
2019-03-29 22:55:49 +01:00
Rafal Kupiec 66b55e35a9
Enable reference operator.
The build was successful. Details
2019-03-28 07:58:53 +01:00
Rafal Kupiec 9a41f7195d
AerScript does not implement any error control operator.
The build was successful. Details
2019-03-22 17:32:40 +01:00
Rafal Kupiec 65b178932a
Get rid of array() & list() for the new syntax.
The build was successful. Details
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.
The build was successful. Details
2019-03-21 17:27:19 +01:00
Rafal Kupiec 8aacf7c70e
Do not use PH7_KEYWORD_FUNCTION for closure declaration.
The build was successful. Details
2019-03-09 19:43:56 +01:00
Rafal Kupiec 0524092539
Add missing space in error message
The build was successful. Details
2019-03-09 16:49:46 +01:00
Rafal Kupiec fa0b487cc0
Implement typecasting to resource data type.
The build was successful. Details
2019-02-08 14:06:39 +01:00
Rafal Kupiec 2949c8dcfb
Fix typo.
The build was successful. Details
2018-12-20 18:20:18 +01:00
Rafal Kupiec 0278f0a630
Add callback cast operator.
The build has failed. Details
2018-12-13 09:31:32 +01:00
Rafal Kupiec d65a529d21
Initial support for char data type.
The build was successful. Details
2018-11-26 20:37:51 +01:00
Rafal Kupiec 174ecb2a38
Initial support for void type.
The build was successful. Details
2018-11-23 09:19:37 +01:00
Rafal Kupiec 8724cebf71
Do not actually support references in the same scope.
The build was successful. Details
2018-10-28 19:45:31 +01:00
Rafal Kupiec 9884f8288b
Do not allow typecasting to unset a variable.
The build was successful. Details
2018-09-18 22:11:57 +02:00
Rafal Kupiec a8a88b4746
Compile closures.
The build was successful. Details
2018-08-16 18:40:23 +02:00
Rafal Kupiec f28c671e69
Compile closures.
The build was successful. Details
2018-08-16 18:31:12 +02:00
Rafal Kupiec 2c28b63d90
Properly interpret language constructs, fixes #28.
The build has failed. Details
2018-08-16 17:42:30 +02:00
Rafal Kupiec 9100bf0696
Treat 'import' as a special keyword.
The build was successful. Details
2018-08-16 16:32:28 +02:00
Rafal Kupiec b5fe36c14b
There is no need for include_once() and require_once()
The build was successful. Details
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.
The build was successful. Details
2018-08-15 19:06:00 +02:00
Rafal Kupiec 59c15caf4e
Use something more human readable
The build was successful. Details
2018-08-12 21:16:05 +02:00
Rafal Kupiec b61fc9d3e6
Rename function to save it from typo
The build was successful. Details
2018-08-11 23:21:40 +02:00
Rafal Kupiec a4e6962a67
Free dot operator for further usage
The build was successful. Details
2018-08-07 08:13:44 +02:00
Rafal Kupiec 4bbdc20174
This commit contains several changes:
The build was successful. Details
* 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