This website requires JavaScript.
fc95deffa0
Typecasting should be enough.
belliash
2019-03-23 17:25:18 +01:00
76e76983a3
Implement new builtin functions: is_char() and is_void().
belliash
2019-03-23 12:59:09 +01:00
ea93c8dba4
Fix typo.
belliash
2019-03-22 19:55:53 +01:00
ff6c71db1c
Do not use NULL if possible.
belliash
2019-03-22 19:53:12 +01:00
9d7a542aea
The is_null() is useless now, as it always returns FALSE.
belliash
2019-03-22 19:29:50 +01:00
135e7c9698
VAR & FUNCTION are no longer valid keywords.
belliash
2019-03-22 18:47:46 +01:00
59e2743a60
Simply release the object, no need to use a wrapper function.
belliash
2019-03-22 18:42:46 +01:00
98a5fc1af0
No such operator.
belliash
2019-03-22 18:34:12 +01:00
154469f475
Variable cannot be typecasted to NULL.
belliash
2019-03-22 18:33:39 +01:00
9a41f7195d
AerScript does not implement any error control operator.
belliash
2019-03-22 17:32:40 +01:00
e3122c9f89
Update TODO list.
belliash
2019-03-22 16:51:25 +01:00
65b178932a
Get rid of array() & list() for the new syntax.
belliash
2019-03-22 15:54:46 +01:00
59e820c768
No longer a problem.
belliash
2019-03-22 09:17:23 +01:00
3ebd6d62c4
Merge branch 'typehinting' of ssh://git.codingworkshop.eu.org:8822/AerScript/Aer into typehinting
belliash
2019-03-22 08:59:41 +01:00
90b5a8797a
Fix a bug allowing to pass an array as argument to the method/closure that takes a scalar.
belliash
2019-03-22 08:59:12 +01:00
78c6f6a376
Working as expected.
belliash
2019-03-22 06:25:47 +01:00
f83d6cc43d
New list of TODO things.
belliash
2019-03-21 17:46:25 +01:00
ab09ba6943
Tests should use new array syntax.
belliash
2019-03-21 17:33:40 +01:00
075d2f0963
Temporary workaround to allow the use of curly braces and array() syntax concurrently.
belliash
2019-03-21 17:30:08 +01:00
412a70c0c6
Allow the array to be defined inside curly braces, instead of using array() keyword.
belliash
2019-03-21 17:27:19 +01:00
a0d72d067c
Neither C++ does.
belliash
2019-03-21 09:17:08 +01:00
0115b30d01
Extension to PHP, standard in AerScript.
belliash
2019-03-21 06:19:27 +01:00
1460200919
This is true about PH7, but not about the AerScript.
belliash
2019-03-20 19:39:30 +01:00
24013f4a52
Correct project name.
belliash
2019-03-20 19:25:46 +01:00
166b1a2c41
This is not a bug.
belliash
2019-03-20 12:58:16 +01:00
4eba80b2ba
Update TODO list.
belliash
2019-03-20 09:32:38 +01:00
7b1ed59f41
Basic check if all methods declared in interface are also defined in class.
belliash
2019-03-20 09:24:30 +01:00
3d23d43040
Enable garbage collector for Program class. This also partially fixes #47 , as from now Program::__destruct() will be called automatically.
belliash
2019-03-19 12:52:36 +01:00
b60c1de4cf
Abort on SXERR_ABORT, #47 .
belliash
2019-03-19 10:42:53 +01:00
23601fe9c5
Partially fix #47 , static variables are still affected.
belliash
2019-03-19 10:38:07 +01:00
d6751484d0
Another bug found so far.
belliash
2019-03-18 12:26:21 +01:00
d4967da9e4
Some bugs found already.
belliash
2019-03-18 12:08:35 +01:00
c6d95c16d3
Fix typo.
belliash
2019-03-18 08:59:28 +01:00
fc3a66315b
These are already done.
belliash
2019-03-17 20:25:22 +01:00
6ca08c9c4a
Fix typo and builtin library.
belliash
2019-03-17 19:57:31 +01:00
55b652c740
Verify that Program::main() returns a value of int or void.
belliash
2019-03-17 19:56:07 +01:00
fe898ec7e7
Update builtin library to follow new syntax.
belliash
2019-03-17 19:52:28 +01:00
ff73690111
Update tests to follow new syntax.
belliash
2019-03-17 19:48:52 +01:00
c26f8cd777
Strict data types for classes and interfaces: 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).
belliash
2019-03-17 19:43:03 +01:00
128f4bba01
This is already done, even methods do not support strict data type hinting.
belliash
2019-03-17 19:41:32 +01:00
9934489ed9
Fix build.
belliash
2019-03-17 18:56:17 +01:00
f3d10dd4bc
Try to exit with code returned by Program::main() only when it is integer value.
belliash
2019-03-17 18:49:22 +01:00
de2b355862
Return 0, when display error message.
belliash
2019-03-17 18:47:17 +01:00
615e75fb8a
Store methods return type.
belliash
2019-03-16 14:57:04 +01:00
7897f28ebb
Fix parameters order.
belliash
2019-03-13 20:10:32 +01:00
e498bc7646
It is enought to declare 'object'.
belliash
2019-03-13 19:59:48 +01:00
a2749000d6
Do not store these information twice; save the memory.
belliash
2019-03-13 09:58:00 +01:00
f71e60f641
Add fields to store information about method's return data type.
belliash
2019-03-13 09:43:27 +01:00
cc4a9aa063
Merge branch 'typehinting' of ssh://git.codingworkshop.eu.org:8822/AerScript/Aer into typehinting
belliash
2019-03-13 09:36:26 +01:00
c8985032ef
Verify that return value match the data type of declared method/closure.
belliash
2019-03-13 09:36:10 +01:00
3e4064f55a
Another feature to not forget about.
belliash
2019-03-11 12:02:24 +01:00
ac16d5ce57
Still many things to do here.
belliash
2019-03-11 08:24:13 +01:00
df3d00d02c
Revert f1d4d80f65 .
belliash
2019-03-11 08:16:51 +01:00
051bca470e
Save the closure return data type for further use.
belliash
2019-03-10 21:02:06 +01:00
f1d4d80f65
Cleanup keywords.
belliash
2019-03-09 22:39:26 +01:00
8aacf7c70e
Do not use PH7_KEYWORD_FUNCTION for closure declaration.
belliash
2019-03-09 19:43:56 +01:00
0524092539
Add missing space in error message
belliash
2019-03-09 16:49:46 +01:00
d6c5f01905
PH7_VmMemoryError() always breaks script execution.
belliash
2019-03-09 14:00:11 +01:00
e86894f724
PH7_VmMemoryError() always breaks script execution.
belliash
2019-03-09 13:59:04 +01:00
bd4151f426
Just fixed.
belliash
2019-03-09 13:40:24 +01:00
a5ee2d75eb
PH7_VmMemoryError() always breaks script execution.
belliash
2019-03-09 13:37:15 +01:00
b7e3ad9f46
PH7_VmMemoryError() always breaks script execution.
belliash
2019-03-09 13:28:04 +01:00
7eba38a633
Fix segmentation fault when trying to store a value under next index into an array.
belliash
2019-03-09 13:25:13 +01:00
4af3220018
Throw a warning when trying to typecast to resource.
belliash
2019-02-13 13:22:30 +01:00
a7b4c6e880
Do not typecast to resource type at all. This might lead to attempt of access to the invalid memory area and segmentation fault.
belliash
2019-02-08 14:28:04 +01:00
fa0b487cc0
Implement typecasting to resource data type.
belliash
2019-02-08 14:06:39 +01:00
efbe191989
Update todo list.
belliash
2019-02-08 13:57:15 +01:00
5d3acf74d0
Another test - tokenizer.
belliash
2019-02-07 18:43:58 +01:00
6927c5c038
Factorial test.
belliash
2019-02-07 18:29:53 +01:00
6a74bf9e8b
Test if method overloading is working properly.
belliash
2019-02-07 18:23:37 +01:00
ed8dab7870
Add more tests.
belliash
2019-02-05 19:48:38 +01:00
ff9e38a480
This is really an array.
belliash
2019-02-05 19:26:06 +01:00
bbdc740388
Finally, do not allow a string variables to act as callback.
belliash
2018-12-20 19:37:03 +01:00
4db8ec02cd
Make tests.
belliash
2018-12-20 18:31:59 +01:00
f97e2a8294
Implement typecasting to callback data type.
belliash
2018-12-20 18:30:21 +01:00
2949c8dcfb
Fix typo.
belliash
2018-12-20 18:20:18 +01:00
784c705af6
Add callback cast operator.
belliash
2018-12-13 10:07:44 +01:00
1c3211e00d
Add missing PH7_OP_CVT_CALL definition.
belliash
2018-12-13 09:35:48 +01:00
0278f0a630
Add callback cast operator.
belliash
2018-12-13 09:31:32 +01:00
d87ce3ad1d
1. Set a proper data type when compiling closure. 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.
belliash
2018-12-01 12:53:58 +01:00
2572b9321d
This is already fixed.
belliash
2018-11-29 13:10:00 +01:00
3f9e3b0664
Check for compatible data types on OP_CALL & OP_STORE.
belliash
2018-11-28 21:58:41 +01:00
9ab896c2e2
Implement PH7_CheckVarCompat().
belliash
2018-11-28 20:37:07 +01:00
f3f1723104
Return valid function for conversion to char.
belliash
2018-11-28 20:11:47 +01:00
0d3cb90d5f
Always convert integer value to char as it is done in C/C++.
belliash
2018-11-28 20:10:14 +01:00
a5ef118263
More bugs to fix in this branch.
belliash
2018-11-28 14:09:21 +01:00
d3e0ffe4bf
Update TODO list.
belliash
2018-11-28 14:01:55 +01:00
3cc8cfe6a2
Remove duplicated code.
belliash
2018-11-28 13:58:33 +01:00
1cebd3af37
Allow char to be typecasted to value of any other type.
belliash
2018-11-26 20:41:15 +01:00
5dde778382
Release object to free some memory.
belliash
2018-11-26 20:39:08 +01:00
d65a529d21
Initial support for char data type.
belliash
2018-11-26 20:37:51 +01:00
8782b9c25b
Update tests to use more strict data types instead of mixed.
belliash
2018-11-26 14:41:41 +01:00
174ecb2a38
Initial support for void type.
belliash
2018-11-23 09:19:37 +01:00
87db6d6dfd
Allow a method/closure to take compatible mixed variable as argument.
belliash
2018-11-18 22:06:40 +01:00
5878a171e6
Update TODO list
belliash
2018-11-13 20:26:22 +01:00
e727453ccf
Fix var_dump() for mixed arrays.
belliash
2018-11-13 20:24:55 +01:00
7a34716298
Add TODO list.
belliash
2018-11-07 19:53:15 +01:00
8724cebf71
Do not actually support references in the same scope.
belliash
2018-10-28 19:45:31 +01:00
ec47190874
Array dump format.
belliash
2018-10-27 19:56:13 +02:00
e5fb7d625e
Allow only a colon as variable separator.
belliash
2018-10-27 19:49:24 +02:00