Commit Graph
37 Commits
Author SHA1 Message Date
belliash e1e6a19f30 Update code formatting.
The build was successful.
2019-11-18 18:57:10 +01:00
belliash a24e44fbf3 Completely remove this broken threading implementation. Fixes #55.
The build was successful.
2019-10-28 21:35:16 +01:00
belliash 3b9d91f186 Revert 3dcc908788.
The build was successful.
2019-08-29 14:23:33 +02:00
Piotr Likoski 33b0f20573 Check the snprintf() return value.
The build was successful.
2019-07-12 14:10:09 +02:00
belliash 48d5088265 Enable the magic number protection.
The build was successful.
2019-06-27 22:57:08 +02:00
belliash 3dcc908788 Enable threading.
The build was successful.
2019-06-27 20:52:37 +02:00
belliash 4881ddf6de Pass compatible pointer type.
The build was successful.
2019-06-27 20:44:50 +02:00
belliash 312fb97db6 Another FS-related bugfix to make compiler happy.
The build was successful.
2019-06-25 20:25:56 +02:00
belliash ca51e2a5da Add comments.
The build was successful.
2019-06-19 10:14:01 +02:00
belliash bffd44a7b4 Get rid of some annoying compiler warnings.
The build was successful.
2019-06-17 09:51:37 +02:00
belliash 3cca5faa76 Store variable type in dedicated field.
The build was successful.
2019-05-21 14:49:36 +02:00
belliash ab8bf48485 Make constant declarations local.
The build was successful.
There are several changes in this commit:
 * first of all constants declared by 'const' statement should be local (declared in current scope / frame),
 * constants are declared by using OP_DECLARE instruction,
 * OP_LOADC browses both global and local constants container,
 * PH7_VmRegisterConstant() allows both global and local declarations.
Since this commit, there are 3 kinds of constants:
 1) global
 2) local (in loop, closure, method)
 3) class members.
Actually there is no way to declare a global constant except the built-in constants.
2019-05-04 13:45:32 +02:00
belliash c443a38fec Do not count compilation errors.
The build was successful.
Interpreter will abort script execution on first error found.
2019-04-24 23:22:06 +02:00
belliash 8f18ebf884 Update legal info.
The build was successful.
2019-04-20 19:53:16 +02:00
belliash c9203b6c91 New source code legal format.
The build was successful.
2019-04-20 19:29:15 +02:00
belliash d8f9db8f9a Proper implementation of is_callback() & is_callable(). First one only performs a check if variable type is callback, while the second checks if function exists and if can be called.
The build was successful.
2019-04-10 09:45:00 +02:00
belliash a87471e1e3 The empty() function is useless in Aer.
The build was successful.
2019-03-24 09:22:10 +01:00
belliash ff6c71db1c Do not use NULL if possible.
The build was successful.
2019-03-22 19:53:12 +01:00
belliash d65a529d21 Initial support for char data type.
The build was successful.
2018-11-26 20:37:51 +01:00
belliash 174ecb2a38 Initial support for void type.
The build was successful.
2018-11-23 09:19:37 +01:00
belliash eb79ed500e Store float values in an union.
The build was successful.
Single variable cannot have many values of different types. This also saves some memory, because union allocates memory just for one of its members.
2018-09-07 12:04:51 +02:00
belliash af1d59dab4 Don't try to get an integer representation of float.
The build was successful.
2018-09-07 06:49:50 +02:00
belliash dc0a55c8c0 Cleanup old error handler.
The build was successful.
2018-09-04 08:38:41 +02:00
belliash 349bbed774 Allow to enable or disable debugging.
The build has failed.
2018-08-27 19:53:24 +02:00
belliash 6d27069590 Add new file for every chunk.
The build was successful.
Every chunk should has its own file associated, even if it is [MEMORY]. Otherwise, some false information can be provided by interpreter to developer.
2018-08-27 18:04:45 +02:00
belliash 877d19a815 API function rename.
The build was successful.
2018-08-26 18:30:21 +02:00
belliash 4dbd3ea412 New memory subsystem.
The build was successful.
This is a new memory subsystem implementing heap calculations as well as new builtin functions:
 * get_memory_usage()
 * get_memory_peak_usage()
 * get_memory_limit()
It also allows to set an upper memory limit, ensuring that processed script will not be able to allocate more memory from OS.
New subsystem is based on work done in 'memory_limit' branch. Big thanks to devnexen!
This finally fixes #25.
2018-08-18 19:24:38 +02:00
belliash b94a23d580 Get rid of PH7 ident
The build was successful.
2018-08-15 20:03:39 +02:00
belliash 26b1675021 API function rename
The build was successful.
2018-08-14 17:43:43 +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 63b0f450d3 Move VM initialization into separate step to enable errors reporting earlier. 2018-07-25 18:15:40 +02:00
belliash a9637d2c8a This partially implements #16 - currently only for entry file. 2018-07-24 09:06:35 +02:00
belliash 965f19b9b7 Add scripts directory to the include path. This fixes #17. 2018-07-24 08:05:08 +02:00
belliash 52d9616503 Revert d937d0c825 2018-07-23 19:39:21 +02:00
devnexen dba8e5098f fixing in the vm context instead, making the feature available in case realpath could be implemented as well 2018-07-23 06:07:27 +01:00
belliash abb91a9874 Reorganize the repository for new build system 2018-07-20 22:35:09 +02:00