61 Commits

Author SHA1 Message Date
94b213674a
Change the script located in memory indicator.
For easier reading with line numbers.
2018-08-23 18:27:14 +02:00
dbe373d537
Resolve __CLASS__ at compile time.
Ticket: : __CLASS__ constant must be resolved at compile time, not run time. Otherwise it returns incorrect data.
2018-08-22 09:59:10 +02:00
3e18a5b8e8
Optimize the code, . 2018-08-22 08:51:45 +02:00
a0f7949b24
Resolve __DIR__ at compile time.
Ticket: : __DIR__ constant must be resolved at compile time, not run time. Otherwise it returns incorrect data.
2018-08-22 06:23:43 +02:00
02242bb93d
Resolve __FILE__ at compile time.
Ticket: : __FILE__ constant must be resolved at compile time, not run time. Otherwise it returns incorrect data.
2018-08-21 20:18:39 +02:00
19a504fe11
Enter the class block during compilation, . 2018-08-21 19:45:50 +02:00
f28c671e69
Compile closures. 2018-08-16 18:31:12 +02:00
a8961eb36f
Fix build 2018-08-16 17:48:17 +02:00
2c28b63d90
Properly interpret language constructs, fixes . 2018-08-16 17:42:30 +02:00
510410096b
Aer is OOP language. There is nothing like function. 2018-08-16 13:57:35 +02:00
4961922b1d
Unify error with other related to namespace. 2018-08-16 13:36:19 +02:00
793b6127d5
Temporarily fix namespace support.
The namespace feature is not supported in this version, they are treated same way as global scope.
2018-08-16 12:39:05 +02:00
787f3b5d5f
Synchronize the namespace also with first semicolon. 2018-08-16 12:01:36 +02:00
be27532fdf
Unify error level for namespace support. 2018-08-16 11:26:47 +02:00
e208e778e0
Compile global scope independently, fixes . 2018-08-16 11:15:03 +02:00
64b9ac4406
Forward declaration already in compiler.h 2018-08-15 11:18:40 +02:00
be454ff7be
Rename PH7_COMPILE_SINGLE_STMT to PH7_COMPILE_STATEMENT 2018-08-14 23:48:15 +02:00
ece036b214
Rework the entry point
* some functions were not used and have been removed
 * some parameters seemed to be useless and have been removed
 * code cleanup
2018-08-14 13:45:27 +02:00
7e3c79d3c5
Functions naming cleanup 2018-08-13 20:16:37 +02:00
02fde9c30f
It is not PHP compiler 2018-08-13 19:53:08 +02:00
aa6e00db27
Forward declaration for all functions. 2018-08-12 21:58:27 +02:00
59c15caf4e
Use something more human readable 2018-08-12 21:16:05 +02:00
6b7591a137
Move common part to compiler.h 2018-08-12 21:11:13 +02:00
289af8f9ae
Unify compiler's function naming convenction 2018-08-12 20:58:01 +02:00
5ef5cf3e46
Make errors more readable. 2018-08-12 19:36:17 +02:00
429c28d0cc
Rework error lovels for AerScript. 2018-08-12 19:35:43 +02:00
c39e627aef
Remove the backtick quoted string. 2018-08-12 11:08:09 +02:00
cef0f40820
Compile namespace 2018-08-12 11:06:01 +02:00
c298a41eb7
More verbose error messages 2018-08-12 10:30:44 +02:00
e866575cb5
More verbose errors 2018-08-12 10:18:42 +02:00
c759b1f106
Improove error reporting for method declarations 2018-08-12 09:23:21 +02:00
b61fc9d3e6
Rename function to save it from typo 2018-08-11 23:21:40 +02:00
576edc6c20
Several changes to virtual class/method. Fixes
* do not automatically mark class as virtual when at least one virtual method found
 * force non-virtual method to contain body
 * force non-virtual class to implement all methods
2018-08-11 22:50:05 +02:00
3f46f01805
Rename anonymous functions 2018-08-11 21:40:05 +02:00
0d8391eaaa
Correct typos 2018-08-11 21:22:04 +02:00
e4ab5974fa
Let the compiler use OP_ADD instead of OP_CAT 2018-08-07 07:47:25 +02:00
4bbdc20174
This commit contains several changes:
* print() is now treated as standard function
 * get rid of echo() function
 * fix test suite
and it fixes .
2018-08-06 17:18:27 +02:00
Piotr Likoski
bcde1f446d
It does not matter if it is empty string or not, we want to process it. Empty string should not ever been even considered as a NULL. Fixing . 2018-08-06 16:13:49 +02:00
Piotr Likoski
a8259e7dbc
Empty double-quoted string can be served as single-quoted string. Preparing for further changes in scope of . 2018-08-06 16:03:22 +02:00
2c37807370
Get rid of global keyword, fixes 2018-07-31 15:24:56 +02:00
7b3e6c5b76
P# introduces virtual classes and virtual methods 2018-07-30 17:08:25 +02:00
b7792dfc3d
P# is not going to derive namespace syntax from PHP, but from C++. 2018-07-30 16:55:49 +02:00
48b2e9d1c6
Update comments 2018-07-28 23:40:00 +02:00
e300575ab1
P# does not support PHP tags, thus there is also no need to support shortcut for echo. 2018-07-28 23:18:48 +02:00
5cb19f63a5
Get rid of alternative syntax for control structures (endif, endwhile, endfor, endforeach). Only curly brackets are allowed. 2018-07-28 23:11:29 +02:00
159cd76020
No need to duplicate exit() 2018-07-28 22:48:32 +02:00
3f1397ed93
Get rid of switch: endswitch construct 2018-07-28 22:45:20 +02:00
ef2ea60a60
Treat whole file as P# source code. Fixes . 2018-07-28 18:28:19 +02:00
bdf053a205
Implement a fix also for interface. This commit also adds initial and partial support for multiple inheritance. 2018-07-27 23:28:34 +02:00
db93fd8b25
Make a use of our internal allocator instead of malloc() 2018-07-27 21:16:50 +02:00