Commit Graph
174 Commits
Author SHA1 Message Date
belliash f927667d85 Strictly check for data type of static variable declaration.
The build has failed.
2018-09-21 22:06:36 +02:00
belliash 79e4bac7eb Remove no longer used PH7_CompileStatic().
The build was successful.
2018-09-21 00:22:29 +02:00
belliash bd4d146d0a Initial version of variable definition.
The build was successful.
2018-09-21 00:21:15 +02:00
belliash 241c7d8168 First step to declare a variable with specified data type.
The build was successful.
2018-09-20 17:06:23 +02:00
belliash e6e59d299e Fix method parameters.
The build was successful.
2018-09-19 19:27:50 +02:00
belliash 9884f8288b Do not allow typecasting to unset a variable.
The build was successful.
2018-09-18 22:11:57 +02:00
belliash 94ae7d187b No data type for argument specified leads to E_ERROR.
The build was successful.
2018-09-14 21:33:31 +02:00
belliash 8b48786f29 Add missing data types.
The build was successful.
2018-09-14 08:47:16 +02:00
belliash 74b1c196f9 Treat invalid type name as error.
The build was successful.
2018-09-13 18:56:01 +02:00
belliash d4992ff4ba At least try to report correct line number.
The build was successful.
2018-09-12 19:24:48 +02:00
belliash ae79cb57de No need to store information about line number in ph7_class struct.
The build was successful.
2018-09-05 17:42:10 +02:00
belliash 894dbe47d6 Allow compiler to specify line number, on which instruction has been generated.
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
belliash 03e452ea7b Shutdown library properly on error.
The build was successful.
2018-09-04 09:13:28 +02:00
belliash 94b213674a Change the script located in memory indicator.
The build was successful.
For easier reading with line numbers.
2018-08-23 18:27:14 +02:00
belliash dbe373d537 Resolve __CLASS__ at compile time.
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
belliash 3e18a5b8e8 Optimize the code, #45.
The build was successful.
2018-08-22 08:51:45 +02:00
belliash a0f7949b24 Resolve __DIR__ at compile time.
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
belliash 02242bb93d Resolve __FILE__ at compile time.
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
belliash 19a504fe11 Enter the class block during compilation, #45.
The build was successful.
2018-08-21 19:45:50 +02:00
belliash f28c671e69 Compile closures.
The build was successful.
2018-08-16 18:31:12 +02:00
belliash a8961eb36f Fix build
The build was successful.
2018-08-16 17:48:17 +02:00
belliash 2c28b63d90 Properly interpret language constructs, fixes #28.
The build has failed.
2018-08-16 17:42:30 +02:00
belliash 510410096b Aer is OOP language. There is nothing like function.
The build was successful.
2018-08-16 13:57:35 +02:00
belliash 4961922b1d Unify error with other related to namespace.
The build was successful.
2018-08-16 13:36:19 +02:00
belliash 793b6127d5 Temporarily fix namespace support.
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
belliash 787f3b5d5f Synchronize the namespace also with first semicolon.
The build was successful.
2018-08-16 12:01:36 +02:00
belliash be27532fdf Unify error level for namespace support.
The build was successful.
2018-08-16 11:26:47 +02:00
belliash e208e778e0 Compile global scope independently, fixes #40.
The build was successful.
2018-08-16 11:15:03 +02:00
belliash 64b9ac4406 Forward declaration already in compiler.h
The build was successful.
2018-08-15 11:18:40 +02:00
belliash be454ff7be Rename PH7_COMPILE_SINGLE_STMT to PH7_COMPILE_STATEMENT
The build was successful.
2018-08-14 23:48:15 +02:00
belliash ece036b214 Rework the entry point
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
belliash 7e3c79d3c5 Functions naming cleanup
The build was successful.
2018-08-13 20:16:37 +02:00
belliash 02fde9c30f It is not PHP compiler
The build was successful.
2018-08-13 19:53:08 +02:00
belliash aa6e00db27 Forward declaration for all functions.
The build was successful.
2018-08-12 21:58:27 +02:00
belliash 59c15caf4e Use something more human readable
The build was successful.
2018-08-12 21:16:05 +02:00
belliash 6b7591a137 Move common part to compiler.h
The build was successful.
2018-08-12 21:11:13 +02:00
belliash 289af8f9ae Unify compiler's function naming convenction
The build was successful.
2018-08-12 20:58:01 +02:00
belliash 5ef5cf3e46 Make errors more readable.
The build was successful.
2018-08-12 19:36:17 +02:00
belliash 429c28d0cc Rework error lovels for AerScript.
The build was successful.
2018-08-12 19:35:43 +02:00
belliash c39e627aef Remove the backtick quoted string.
The build was successful.
2018-08-12 11:08:09 +02:00
belliash cef0f40820 Compile namespace
The build was successful.
2018-08-12 11:06:01 +02:00
belliash c298a41eb7 More verbose error messages
The build was successful.
2018-08-12 10:30:44 +02:00
belliash e866575cb5 More verbose errors
The build was successful.
2018-08-12 10:18:42 +02:00
belliash c759b1f106 Improove error reporting for method declarations
The build was successful.
2018-08-12 09:23:21 +02:00
belliash b61fc9d3e6 Rename function to save it from typo
The build was successful.
2018-08-11 23:21:40 +02:00
belliash 576edc6c20 Several changes to virtual class/method. Fixes #41
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
belliash 3f46f01805 Rename anonymous functions
The build was successful.
2018-08-11 21:40:05 +02:00
belliash 0d8391eaaa Correct typos
The build was successful.
2018-08-11 21:22:04 +02:00
belliash e4ab5974fa Let the compiler use OP_ADD instead of OP_CAT
The build was successful.
2018-08-07 07:47:25 +02:00
belliash 4bbdc20174 This commit contains several changes:
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