69 Commit

Autore SHA1 Messaggio Data
9884f8288b
Do not allow typecasting to unset a variable.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-09-18 22:11:57 +02:00
94ae7d187b
No data type for argument specified leads to E_ERROR.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-09-14 21:33:31 +02:00
8b48786f29
Add missing data types.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-09-14 08:47:16 +02:00
74b1c196f9
Treat invalid type name as error.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-09-13 18:56:01 +02:00
d4992ff4ba
At least try to report correct line number.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-09-12 19:24:48 +02:00
ae79cb57de
No need to store information about line number in ph7_class struct.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-09-05 17:42:10 +02:00
894dbe47d6
Allow compiler to specify line number, on which instruction has been generated.
Tutti i controlli sono stati effettuati con successo
The build was successful.
This also fixes line number on OP_CLASS_INIT and OP_INTERFACE_INIT.
2018-09-05 17:31:06 +02:00
03e452ea7b
Shutdown library properly on error.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-09-04 09:13:28 +02:00
94b213674a
Change the script located in memory indicator.
Tutti i controlli sono stati effettuati con successo
The build was successful.
For easier reading with line numbers.
2018-08-23 18:27:14 +02:00
dbe373d537
Resolve __CLASS__ at compile time.
Tutti i controlli sono stati effettuati con successo
The build was successful.
Ticket: #45: __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, #45.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-22 08:51:45 +02:00
a0f7949b24
Resolve __DIR__ at compile time.
Tutti i controlli sono stati effettuati con successo
The build was successful.
Ticket: #45: __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.
Tutti i controlli sono stati effettuati con successo
The build was successful.
Ticket: #45: __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, #45.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-21 19:45:50 +02:00
f28c671e69
Compile closures.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-16 18:31:12 +02:00
a8961eb36f
Fix build
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-16 17:48:17 +02:00
2c28b63d90
Properly interpret language constructs, fixes #28.
Alcuni controlli hanno segnalato errori
The build has failed.
2018-08-16 17:42:30 +02:00
510410096b
Aer is OOP language. There is nothing like function.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-16 13:57:35 +02:00
4961922b1d
Unify error with other related to namespace.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-16 13:36:19 +02:00
793b6127d5
Temporarily fix namespace support.
Tutti i controlli sono stati effettuati con successo
The build was successful.
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.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-16 12:01:36 +02:00
be27532fdf
Unify error level for namespace support.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-16 11:26:47 +02:00
e208e778e0
Compile global scope independently, fixes #40.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-16 11:15:03 +02:00
64b9ac4406
Forward declaration already in compiler.h
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-15 11:18:40 +02:00
be454ff7be
Rename PH7_COMPILE_SINGLE_STMT to PH7_COMPILE_STATEMENT
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-14 23:48:15 +02:00
ece036b214
Rework the entry point
Tutti i controlli sono stati effettuati con successo
The build was successful.
* 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
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-13 20:16:37 +02:00
02fde9c30f
It is not PHP compiler
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-13 19:53:08 +02:00
aa6e00db27
Forward declaration for all functions.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 21:58:27 +02:00
59c15caf4e
Use something more human readable
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 21:16:05 +02:00
6b7591a137
Move common part to compiler.h
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 21:11:13 +02:00
289af8f9ae
Unify compiler's function naming convenction
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 20:58:01 +02:00
5ef5cf3e46
Make errors more readable.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 19:36:17 +02:00
429c28d0cc
Rework error lovels for AerScript.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 19:35:43 +02:00
c39e627aef
Remove the backtick quoted string.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 11:08:09 +02:00
cef0f40820
Compile namespace
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 11:06:01 +02:00
c298a41eb7
More verbose error messages
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 10:30:44 +02:00
e866575cb5
More verbose errors
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 10:18:42 +02:00
c759b1f106
Improove error reporting for method declarations
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-12 09:23:21 +02:00
b61fc9d3e6
Rename function to save it from typo
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-11 23:21:40 +02:00
576edc6c20
Several changes to virtual class/method. Fixes #41
Tutti i controlli sono stati effettuati con successo
The build was successful.
* 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
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-11 21:40:05 +02:00
0d8391eaaa
Correct typos
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-11 21:22:04 +02:00
e4ab5974fa
Let the compiler use OP_ADD instead of OP_CAT
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-07 07:47:25 +02:00
4bbdc20174
This commit contains several changes:
Tutti i controlli sono stati effettuati con successo
The build was successful.
* 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
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 #35.
Tutti i controlli sono stati effettuati con successo
The build was successful.
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 #35.
Tutti i controlli sono stati effettuati con successo
The build was successful.
2018-08-06 16:03:22 +02:00
2c37807370
Get rid of global keyword, fixes #29 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