Commit Graph
100 Commits
Author SHA1 Message Date
belliash 24013f4a52 Correct project name.
The build was successful.
2019-03-20 19:25:46 +01:00
belliash 166b1a2c41 This is not a bug.
The build was successful.
2019-03-20 12:58:16 +01:00
belliash 4eba80b2ba Update TODO list.
The build was successful.
2019-03-20 09:32:38 +01:00
belliash 7b1ed59f41 Basic check if all methods declared in interface are also defined in class.
The build was successful.
2019-03-20 09:24:30 +01:00
belliash 3d23d43040 Enable garbage collector for Program class. This also partially fixes #47, as from now Program::__destruct() will be called automatically.
The build was successful.
2019-03-19 12:52:36 +01:00
belliash b60c1de4cf Abort on SXERR_ABORT, #47.
The build was successful.
2019-03-19 10:42:53 +01:00
belliash 23601fe9c5 Partially fix #47, static variables are still affected.
The build was successful.
2019-03-19 10:38:07 +01:00
belliash d6751484d0 Another bug found so far.
The build was successful.
2019-03-18 12:26:21 +01:00
belliash d4967da9e4 Some bugs found already.
The build was successful.
2019-03-18 12:08:35 +01:00
belliash c6d95c16d3 Fix typo.
The build was successful.
2019-03-18 08:59:28 +01:00
belliash fc3a66315b These are already done.
The build was successful.
2019-03-17 20:25:22 +01:00
belliash 6ca08c9c4a Fix typo and builtin library.
The build was successful.
2019-03-17 19:57:31 +01:00
belliash 55b652c740 Verify that Program::main() returns a value of int or void.
The build has failed.
2019-03-17 19:56:07 +01:00
belliash fe898ec7e7 Update builtin library to follow new syntax.
The build has failed.
2019-03-17 19:52:28 +01:00
belliash ff73690111 Update tests to follow new syntax.
The build has failed.
2019-03-17 19:48:52 +01:00
belliash c26f8cd777 Strict data types for classes and interfaces:
The build has failed.
1) New syntax for method declaration, now requiring a strict data type to be passed (i.e. void main()),
2) New syntax for attributes declaration, als orequiring a strict data type before variable name (i.e. string $str).
2019-03-17 19:43:03 +01:00
belliash 128f4bba01 This is already done, even methods do not support strict data type hinting.
The build was successful.
2019-03-17 19:41:32 +01:00
belliash 9934489ed9 Fix build.
The build was successful.
2019-03-17 18:56:17 +01:00
belliash f3d10dd4bc Try to exit with code returned by Program::main() only when it is integer value.
The build has failed.
2019-03-17 18:49:22 +01:00
belliash de2b355862 Return 0, when display error message.
The build was successful.
2019-03-17 18:47:17 +01:00
belliash 615e75fb8a Store methods return type.
The build was successful.
2019-03-16 14:57:04 +01:00
belliash 7897f28ebb Fix parameters order.
The build was successful.
2019-03-13 20:10:32 +01:00
belliash e498bc7646 It is enought to declare 'object'.
The build was successful.
2019-03-13 19:59:48 +01:00
belliash a2749000d6 Do not store these information twice; save the memory.
The build was successful.
2019-03-13 09:58:00 +01:00
belliash f71e60f641 Add fields to store information about method's return data type.
The build was successful.
2019-03-13 09:43:27 +01:00
belliash cc4a9aa063 Merge branch 'typehinting' of ssh://git.codingworkshop.eu.org:8822/AerScript/Aer into typehinting
The build was successful.
2019-03-13 09:36:26 +01:00
belliash c8985032ef Verify that return value match the data type of declared method/closure. 2019-03-13 09:36:10 +01:00
belliash 3e4064f55a Another feature to not forget about.
The build was successful.
2019-03-11 12:02:24 +01:00
belliash ac16d5ce57 Still many things to do here.
The build was successful.
2019-03-11 08:24:13 +01:00
belliash df3d00d02c Revert f1d4d80f65.
The build was successful.
2019-03-11 08:16:51 +01:00
belliash 051bca470e Save the closure return data type for further use.
The build was successful.
2019-03-10 21:02:06 +01:00
belliash f1d4d80f65 Cleanup keywords.
The build was successful.
2019-03-09 22:39:26 +01:00
belliash 8aacf7c70e Do not use PH7_KEYWORD_FUNCTION for closure declaration.
The build was successful.
2019-03-09 19:43:56 +01:00
belliash 0524092539 Add missing space in error message
The build was successful.
2019-03-09 16:49:46 +01:00
belliash d6c5f01905 PH7_VmMemoryError() always breaks script execution.
The build was successful.
2019-03-09 14:00:11 +01:00
belliash e86894f724 PH7_VmMemoryError() always breaks script execution.
The build was successful.
2019-03-09 13:59:04 +01:00
belliash bd4151f426 Just fixed.
The build was successful.
2019-03-09 13:40:24 +01:00
belliash a5ee2d75eb PH7_VmMemoryError() always breaks script execution.
The build was successful.
2019-03-09 13:37:15 +01:00
belliash b7e3ad9f46 PH7_VmMemoryError() always breaks script execution.
The build was successful.
2019-03-09 13:28:04 +01:00
belliash 7eba38a633 Fix segmentation fault when trying to store a value under next index into an array.
The build was successful.
2019-03-09 13:25:13 +01:00
belliash 4af3220018 Throw a warning when trying to typecast to resource.
The build was successful.
2019-02-13 13:22:30 +01:00
belliash a7b4c6e880 Do not typecast to resource type at all. This might lead to attempt of access to the invalid memory area and segmentation fault.
The build was successful.
2019-02-08 14:28:04 +01:00
belliash fa0b487cc0 Implement typecasting to resource data type.
The build was successful.
2019-02-08 14:06:39 +01:00
belliash efbe191989 Update todo list.
The build was successful.
2019-02-08 13:57:15 +01:00
belliash 5d3acf74d0 Another test - tokenizer.
The build was successful.
2019-02-07 18:43:58 +01:00
belliash 6927c5c038 Factorial test.
The build was successful.
2019-02-07 18:29:53 +01:00
belliash 6a74bf9e8b Test if method overloading is working properly.
The build was successful.
2019-02-07 18:23:37 +01:00
belliash ed8dab7870 Add more tests.
The build was successful.
2019-02-05 19:48:38 +01:00
belliash ff9e38a480 This is really an array.
The build was successful.
2019-02-05 19:26:06 +01:00
belliash bbdc740388 Finally, do not allow a string variables to act as callback.
The build was successful.
2018-12-20 19:37:03 +01:00
belliash 4db8ec02cd Make tests.
The build was successful.
2018-12-20 18:31:59 +01:00
belliash f97e2a8294 Implement typecasting to callback data type.
The build was successful.
2018-12-20 18:30:21 +01:00
belliash 2949c8dcfb Fix typo.
The build was successful.
2018-12-20 18:20:18 +01:00
belliash 784c705af6 Add callback cast operator.
The build was successful.
2018-12-13 10:07:44 +01:00
belliash 1c3211e00d Add missing PH7_OP_CVT_CALL definition.
The build was successful.
2018-12-13 09:35:48 +01:00
belliash 0278f0a630 Add callback cast operator.
The build has failed.
2018-12-13 09:31:32 +01:00
belliash d87ce3ad1d 1. Set a proper data type when compiling closure.
The build was successful.
2. Temporarily allow to call a closure/function if its name is stored in a variable of callback or string type. Ultimately, only callback will be allowed.
2018-12-01 12:53:58 +01:00
belliash 2572b9321d This is already fixed.
The build was successful.
2018-11-29 13:10:00 +01:00
belliash 3f9e3b0664 Check for compatible data types on OP_CALL & OP_STORE.
The build was successful.
2018-11-28 21:58:41 +01:00
belliash 9ab896c2e2 Implement PH7_CheckVarCompat().
The build was successful.
2018-11-28 20:37:07 +01:00
belliash f3f1723104 Return valid function for conversion to char.
The build was successful.
2018-11-28 20:11:47 +01:00
belliash 0d3cb90d5f Always convert integer value to char as it is done in C/C++.
The build was successful.
2018-11-28 20:10:14 +01:00
belliash a5ef118263 More bugs to fix in this branch.
The build was successful.
2018-11-28 14:09:21 +01:00
belliash d3e0ffe4bf Update TODO list.
The build was successful.
2018-11-28 14:01:55 +01:00
belliash 3cc8cfe6a2 Remove duplicated code.
The build was successful.
2018-11-28 13:58:33 +01:00
belliash 1cebd3af37 Allow char to be typecasted to value of any other type.
The build was successful.
2018-11-26 20:41:15 +01:00
belliash 5dde778382 Release object to free some memory.
The build was successful.
2018-11-26 20:39:08 +01:00
belliash d65a529d21 Initial support for char data type.
The build was successful.
2018-11-26 20:37:51 +01:00
belliash 8782b9c25b Update tests to use more strict data types instead of mixed.
The build was successful.
2018-11-26 14:41:41 +01:00
belliash 174ecb2a38 Initial support for void type.
The build was successful.
2018-11-23 09:19:37 +01:00
belliash 87db6d6dfd Allow a method/closure to take compatible mixed variable as argument.
The build was successful.
2018-11-18 22:06:40 +01:00
belliash 5878a171e6 Update TODO list
The build was successful.
2018-11-13 20:26:22 +01:00
belliash e727453ccf Fix var_dump() for mixed arrays.
The build was successful.
2018-11-13 20:24:55 +01:00
belliash 7a34716298 Add TODO list.
The build was successful.
2018-11-07 19:53:15 +01:00
belliash 8724cebf71 Do not actually support references in the same scope.
The build was successful.
2018-10-28 19:45:31 +01:00
belliash ec47190874 Array dump format.
The build was successful.
2018-10-27 19:56:13 +02:00
belliash e5fb7d625e Allow only a colon as variable separator.
The build was successful.
2018-10-27 19:49:24 +02:00
belliash 6f13c347d8 Set the proper type of array.
The build was successful.
2018-10-26 19:45:10 +02:00
belliash 03cf969c31 Check for a type of array.
The build was successful.
2018-10-11 15:15:48 +02:00
belliash b66515516e First check if array or object.
The build was successful.
2018-10-01 22:46:35 +02:00
belliash 6293b8f5bf Do not try to dump empty array.
The build was successful.
2018-10-01 22:43:23 +02:00
belliash c00080e190 Correct comment.
The build was successful.
2018-09-24 19:20:23 +02:00
belliash b5eb268ce1 Do not allow to set a value of different type to the variable.
The build was successful.
2018-09-24 19:17:46 +02:00
belliash 5f2f9d9c08 Set proper data type for static variables;
The build was successful.
2018-09-24 19:16:44 +02:00
belliash 6e7bc74949 Put comment in right place.
The build was successful.
2018-09-24 13:39:50 +02:00
belliash f26095658d Treat empty object as false.
The build was successful.
2018-09-24 13:38:33 +02:00
belliash 2db1954779 Another bunch of fixes for object type.
The build was successful.
2018-09-24 13:34:22 +02:00
belliash 550107235c Do not try to dump a non-instantiated object.
The build was successful.
2018-09-24 12:22:58 +02:00
belliash 369cadfcda Tryeing to call a non-instantiated object should result in an error.
The build was successful.
2018-09-24 12:10:19 +02:00
belliash f72d6c3922 Load data from array/object only if there is anything stored.
The build was successful.
2018-09-24 11:47:30 +02:00
belliash 59fda6d797 Unref hashmap and object only if there is any data stored.
The build was successful.
2018-09-24 11:29:51 +02:00
belliash ba0c250911 Fix test.
The build was successful.
2018-09-23 19:07:03 +02:00
belliash 08296110fb Temporarily fix tests.
The build was successful.
2018-09-23 17:51:47 +02:00
belliash dd774be005 Fix for() loop, do not use iP1 for OP_LOAD.
The build has failed.
2018-09-23 17:51:09 +02:00
belliash ae0fde152c Create a variable only on OP_LOAD.
The build has failed.
2018-09-23 17:40:26 +02:00
belliash 28a5fa59ad Duplicate variable name. Fix variable declaration.
The build was successful.
2018-09-22 17:54:59 +02:00
belliash 514e07c7f3 Fix static variables not containing any value.
The build was successful.
2018-09-21 22:18:11 +02:00
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