Commit Graph

297 Commits

Author SHA1 Message Date
Rafal Kupiec 510410096b
Aer is OOP language. There is nothing like function.
The build was successful. Details
2018-08-16 13:57:35 +02:00
Rafal Kupiec 4961922b1d
Unify error with other related to namespace.
The build was successful. Details
2018-08-16 13:36:19 +02:00
Rafal Kupiec 793b6127d5
Temporarily fix namespace support.
The build was successful. Details
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
Rafal Kupiec 787f3b5d5f
Synchronize the namespace also with first semicolon.
The build was successful. Details
2018-08-16 12:01:36 +02:00
Rafal Kupiec be27532fdf
Unify error level for namespace support.
The build was successful. Details
2018-08-16 11:26:47 +02:00
Rafal Kupiec e208e778e0
Compile global scope independently, fixes #40.
The build was successful. Details
2018-08-16 11:15:03 +02:00
Rafal Kupiec 039fde099f
Compile Aer code or chunk of code.
The build was successful. Details
2018-08-16 09:34:18 +02:00
Rafal Kupiec f9946e9842
Reimplement filegroup() and fileowner() as builtin function, #42.
The build was successful. Details
2018-08-15 21:58:21 +02:00
Rafal Kupiec f33f8d66b4
Correct warning messages.
The build was successful. Details
2018-08-15 21:43:17 +02:00
Rafal Kupiec 16ea44372f
Dictionary correction.
The build was successful. Details
2018-08-15 21:35:44 +02:00
Rafal Kupiec ac1dee48c9
Reimplement fileinode() as builtin function, #42.
The build was successful. Details
2018-08-15 21:28:59 +02:00
Rafal Kupiec b642858044
Add missing definition
The build was successful. Details
2018-08-15 20:20:56 +02:00
Rafal Kupiec b94a23d580
Get rid of PH7 ident
The build was successful. Details
2018-08-15 20:03:39 +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 71d46e3052
Compiler rework does not allow functions in global scope.
The build was successful. Details
These functions will be rewritten in C as a builtin functions in scope of #42.
2018-08-15 18:56:10 +02:00
Rafal Kupiec da0b7eb629
Some useless function
The build was successful. Details
2018-08-15 17:34:40 +02:00
Rafal Kupiec af139b3f0a
Reimplement C-like min() and max() functions.
The build was successful. Details
These functions should have C-like implementation and take exactly 2 arguments: integer or float.
Finally, C-implementation will be faster than using PH7 builtin library that needs to be compiled and interpreted.
2018-08-15 17:26:26 +02:00
Rafal Kupiec 89d7aca73a
Correct typo
The build was successful. Details
2018-08-15 16:38:33 +02:00
Rafal Kupiec 8ab67084a0
It is as easy to instantiate the class as to remove this useless functions.
The build was successful. Details
2018-08-15 16:31:28 +02:00
Rafal Kupiec 6f491b398a
Always show compilation errors
The build was successful. Details
2018-08-15 16:01:09 +02:00
Rafal Kupiec 8e87989719
A;ways show compilation errors from evaluated code
The build was successful. Details
2018-08-15 15:41:53 +02:00
Rafal Kupiec 052649e677
Trust builtin library.
The build was successful. Details
The builtin library should compile successfully. Otherwise, we want to know about it.
2018-08-15 14:12:44 +02:00
Rafal Kupiec 0e64c7cc6e
Fix builtin library
The build was successful. Details
2018-08-15 14:08:59 +02:00
Rafal Kupiec 64b9ac4406
Forward declaration already in compiler.h
The build was successful. Details
2018-08-15 11:18:40 +02:00
Rafal Kupiec be454ff7be
Rename PH7_COMPILE_SINGLE_STMT to PH7_COMPILE_STATEMENT
The build was successful. Details
2018-08-14 23:48:15 +02:00
Rafal Kupiec 26b1675021
API function rename
The build was successful. Details
2018-08-14 17:43:43 +02:00
Rafal Kupiec ece036b214
Rework the entry point
The build was successful. Details
* 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
Rafal Kupiec 1cb3e394cf
Implement pseudo boolean type.
The build was successful. Details
2018-08-14 10:42:52 +02:00
Rafal Kupiec 7e3c79d3c5
Functions naming cleanup
The build was successful. Details
2018-08-13 20:16:37 +02:00
Rafal Kupiec 02fde9c30f
It is not PHP compiler
The build was successful. Details
2018-08-13 19:53:08 +02:00
Rafal Kupiec d7f9d8e157
Add missing 'finally' keyword.
The build was successful. Details
2018-08-12 22:04:47 +02:00
Rafal Kupiec aa6e00db27
Forward declaration for all functions.
The build was successful. Details
2018-08-12 21:58:27 +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 6b7591a137
Move common part to compiler.h
The build was successful. Details
2018-08-12 21:11:13 +02:00
Rafal Kupiec 289af8f9ae
Unify compiler's function naming convenction
The build was successful. Details
2018-08-12 20:58:01 +02:00
Rafal Kupiec 5ef5cf3e46
Make errors more readable.
The build was successful. Details
2018-08-12 19:36:17 +02:00
Rafal Kupiec 429c28d0cc
Rework error lovels for AerScript.
The build was successful. Details
2018-08-12 19:35:43 +02:00
Rafal Kupiec 029dd9bfb4
Several changes made:
The build was successful. Details
* Do not overload entry point
 * Automatically call Program::__construct()
 * Automatically call Program::main();
 * Fix all tests
2018-08-12 12:52:35 +02:00
Rafal Kupiec 8cbfca2bc9
Do not overload entry point
The build was successful. Details
2018-08-12 12:27:15 +02:00
Rafal Kupiec c39e627aef
Remove the backtick quoted string.
The build was successful. Details
2018-08-12 11:08:09 +02:00
Rafal Kupiec cef0f40820
Compile namespace
The build was successful. Details
2018-08-12 11:06:01 +02:00
Rafal Kupiec c298a41eb7
More verbose error messages
The build was successful. Details
2018-08-12 10:30:44 +02:00
Rafal Kupiec e866575cb5
More verbose errors
The build was successful. Details
2018-08-12 10:18:42 +02:00
Rafal Kupiec c759b1f106
Improove error reporting for method declarations
The build was successful. Details
2018-08-12 09:23:21 +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 576edc6c20
Several changes to virtual class/method. Fixes #41
The build was successful. Details
* 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
Rafal Kupiec 3f46f01805
Rename anonymous functions
The build was successful. Details
2018-08-11 21:40:05 +02:00
Rafal Kupiec 0d8391eaaa
Correct typos
The build was successful. Details
2018-08-11 21:22:04 +02:00
Rafal Kupiec 5d9ccf9c65
More tests
The build was successful. Details
2018-08-10 08:51:38 +02:00
Rafal Kupiec 3252f54615 Temporarily look for modules in binary/ subdirectory. This will allow us to test modules.
The build was successful. Details
Final version should take the full path from configuration.
2018-08-10 08:47:42 +02:00