This website requires JavaScript.
253fe327ef
Automatically fallback mixed variable to void (NULL).
Rafal Kupiec
2019-03-31 14:04:19 +0200
629484fcf6
Make a use of NULL operator.
Rafal Kupiec
2019-03-30 19:52:51 +0100
4f6be2234e
Allow NULL to be assigned to any type of variable. NULL will be automatically typecasted to any data type, thus setting ti the default value.
Rafal Kupiec
2019-03-29 23:51:20 +0100
9b741175f2
Uppercase.
Rafal Kupiec
2019-03-29 23:17:50 +0100
8a87dcbcdc
Not any longer.
Rafal Kupiec
2019-03-29 22:59:59 +0100
3f205c19ce
Get rid of dirty references. Return a reference & pass-by reference are still working.
Rafal Kupiec
2019-03-29 22:55:49 +0100
a7137316f7
This also seems to be fixed already.
Rafal Kupiec
2019-03-29 19:59:17 +0100
f5960d57b1
Allow static class attributes to store compatible data types only.
Rafal Kupiec
2019-03-29 19:56:10 +0100
0f5073f3fb
Fix test.
Rafal Kupiec
2019-03-29 09:45:32 +0100
41d20eeb28
Builtin library is broken; strtok() cannot return a boolean value.
Rafal Kupiec
2019-03-29 09:45:15 +0100
f7b779907c
This is actually fixed.
Rafal Kupiec
2019-03-29 09:22:38 +0100
01f1932230
Respect the class attribute data type.
Rafal Kupiec
2019-03-29 09:21:58 +0100
47cca096bc
Fix segmentation fault when trying to access array element.
Rafal Kupiec
2019-03-29 09:09:51 +0100
140bd35f93
Set proper type for all class attributes.
Rafal Kupiec
2019-03-29 09:00:55 +0100
a013cee2d1
Properly serve the arrays.
Rafal Kupiec
2019-03-28 19:44:03 +0100
e4dc9f641e
Invert the logic. Variable needs to be declared.
Rafal Kupiec
2019-03-28 19:43:00 +0100
66b55e35a9
Enable reference operator.
Rafal Kupiec
2019-03-28 07:58:53 +0100
3fc002be18
More things to do ... again.
Rafal Kupiec
2019-03-27 11:02:09 +0100
94bd82f251
Update TODO list.
Rafal Kupiec
2019-03-27 10:46:36 +0100
874e416d65
Typo correction.
Rafal Kupiec
2019-03-27 09:50:24 +0100
46a3bd85b0
Add function description.
Rafal Kupiec
2019-03-27 09:49:48 +0100
d76e48c885
It is already integer.
Rafal Kupiec
2019-03-27 09:45:02 +0100
14f958a4b2
Implement PH7_HashmapCast().
Rafal Kupiec
2019-03-27 09:42:23 +0100
45f4a00b05
Revert 5e54233ef8
.
Rafal Kupiec
2019-03-26 17:41:32 +0100
9303517b9e
Fix return by reference.
Rafal Kupiec
2019-03-26 17:40:28 +0100
5e54233ef8
Check only non-array vriables.
Rafal Kupiec
2019-03-26 16:39:19 +0100
04c56c9041
Multidimensional array of the same type should not be marked as mixed.
Rafal Kupiec
2019-03-25 09:37:40 +0100
fbf27a6c4c
One bug fixed, another found.
Rafal Kupiec
2019-03-24 13:52:56 +0100
891818d601
Fix PH7_CheckVarCompat(). Array can be assigned only to array.
Rafal Kupiec
2019-03-24 13:33:15 +0100
243faf4373
Header cleanup.
Rafal Kupiec
2019-03-24 09:38:52 +0100
accde59f9e
Cleanup header.
Rafal Kupiec
2019-03-24 09:32:27 +0100
fa295b9437
It's callback, not callable.
Rafal Kupiec
2019-03-24 09:31:19 +0100
a87471e1e3
The empty() function is useless in Aer.
Rafal Kupiec
2019-03-24 09:22:10 +0100
9438407ebf
Never store an element if there is no callback function specified.
Rafal Kupiec
2019-03-24 09:01:38 +0100
731706c1a3
Another bug found.
Rafal Kupiec
2019-03-23 23:29:51 +0100
e39bdae5b8
Fix test.
Rafal Kupiec
2019-03-23 23:25:00 +0100
4f29507c0d
The isset() function always results in true, thus it is useless. If passed as argument variable is not set, the interpreter will throw an error.
Rafal Kupiec
2019-03-23 19:51:19 +0100
e75ed7b9a9
Only INTEGER and FLOAT should be considered as numerical.
Rafal Kupiec
2019-03-23 19:34:51 +0100
0af594f1ed
Seems not so useful in AerScript.
Rafal Kupiec
2019-03-23 19:15:16 +0100
3074b4efaf
Fix test.
Rafal Kupiec
2019-03-23 17:33:29 +0100
fc95deffa0
Typecasting should be enough.
Rafal Kupiec
2019-03-23 17:25:18 +0100
76e76983a3
Implement new builtin functions: is_char() and is_void().
Rafal Kupiec
2019-03-23 12:59:09 +0100
ea93c8dba4
Fix typo.
Rafal Kupiec
2019-03-22 19:55:53 +0100
ff6c71db1c
Do not use NULL if possible.
Rafal Kupiec
2019-03-22 19:53:12 +0100
9d7a542aea
The is_null() is useless now, as it always returns FALSE.
Rafal Kupiec
2019-03-22 19:29:50 +0100
135e7c9698
VAR & FUNCTION are no longer valid keywords.
Rafal Kupiec
2019-03-22 18:47:46 +0100
59e2743a60
Simply release the object, no need to use a wrapper function.
Rafal Kupiec
2019-03-22 18:42:46 +0100
98a5fc1af0
No such operator.
Rafal Kupiec
2019-03-22 18:34:12 +0100
154469f475
Variable cannot be typecasted to NULL.
Rafal Kupiec
2019-03-22 18:33:39 +0100
9a41f7195d
AerScript does not implement any error control operator.
Rafal Kupiec
2019-03-22 17:32:40 +0100
e3122c9f89
Update TODO list.
Rafal Kupiec
2019-03-22 16:51:25 +0100
65b178932a
Get rid of array() & list() for the new syntax.
Rafal Kupiec
2019-03-22 15:54:46 +0100
59e820c768
No longer a problem.
Rafal Kupiec
2019-03-22 09:17:23 +0100
3ebd6d62c4
Merge branch 'typehinting' of ssh://git.codingworkshop.eu.org:8822/AerScript/Aer into typehinting
Rafal Kupiec
2019-03-22 08:59:41 +0100
90b5a8797a
Fix a bug allowing to pass an array as argument to the method/closure that takes a scalar.
Rafal Kupiec
2019-03-22 08:59:12 +0100
78c6f6a376
Working as expected.
Rafal Kupiec
2019-03-22 06:25:47 +0100
f83d6cc43d
New list of TODO things.
Rafal Kupiec
2019-03-21 17:46:25 +0100
ab09ba6943
Tests should use new array syntax.
Rafal Kupiec
2019-03-21 17:33:40 +0100
075d2f0963
Temporary workaround to allow the use of curly braces and array() syntax concurrently.
Rafal Kupiec
2019-03-21 17:30:08 +0100
412a70c0c6
Allow the array to be defined inside curly braces, instead of using array() keyword.
Rafal Kupiec
2019-03-21 17:27:19 +0100
a0d72d067c
Neither C++ does.
Rafal Kupiec
2019-03-21 09:17:08 +0100
0115b30d01
Extension to PHP, standard in AerScript.
Rafal Kupiec
2019-03-21 06:19:27 +0100
1460200919
This is true about PH7, but not about the AerScript.
Rafal Kupiec
2019-03-20 19:39:30 +0100
24013f4a52
Correct project name.
Rafal Kupiec
2019-03-20 19:25:46 +0100
166b1a2c41
This is not a bug.
Rafal Kupiec
2019-03-20 12:58:16 +0100
4eba80b2ba
Update TODO list.
Rafal Kupiec
2019-03-20 09:32:38 +0100
7b1ed59f41
Basic check if all methods declared in interface are also defined in class.
Rafal Kupiec
2019-03-20 09:24:30 +0100
3d23d43040
Enable garbage collector for Program class. This also partially fixes #47 , as from now Program::__destruct() will be called automatically.
Rafal Kupiec
2019-03-19 12:52:36 +0100
b60c1de4cf
Abort on SXERR_ABORT, #47 .
Rafal Kupiec
2019-03-19 10:42:53 +0100
23601fe9c5
Partially fix #47 , static variables are still affected.
Rafal Kupiec
2019-03-19 10:38:07 +0100
d6751484d0
Another bug found so far.
Rafal Kupiec
2019-03-18 12:26:21 +0100
d4967da9e4
Some bugs found already.
Rafal Kupiec
2019-03-18 12:08:35 +0100
c6d95c16d3
Fix typo.
Rafal Kupiec
2019-03-18 08:59:28 +0100
fc3a66315b
These are already done.
Rafal Kupiec
2019-03-17 20:25:22 +0100
6ca08c9c4a
Fix typo and builtin library.
Rafal Kupiec
2019-03-17 19:57:31 +0100
55b652c740
Verify that Program::main() returns a value of int or void.
Rafal Kupiec
2019-03-17 19:56:07 +0100
fe898ec7e7
Update builtin library to follow new syntax.
Rafal Kupiec
2019-03-17 19:52:28 +0100
ff73690111
Update tests to follow new syntax.
Rafal Kupiec
2019-03-17 19:48:52 +0100
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).
Rafal Kupiec
2019-03-17 19:43:03 +0100
128f4bba01
This is already done, even methods do not support strict data type hinting.
Rafal Kupiec
2019-03-17 19:41:32 +0100
9934489ed9
Fix build.
Rafal Kupiec
2019-03-17 18:56:17 +0100
f3d10dd4bc
Try to exit with code returned by Program::main() only when it is integer value.
Rafal Kupiec
2019-03-17 18:49:22 +0100
de2b355862
Return 0, when display error message.
Rafal Kupiec
2019-03-17 18:47:17 +0100
615e75fb8a
Store methods return type.
Rafal Kupiec
2019-03-16 14:57:04 +0100
7897f28ebb
Fix parameters order.
Rafal Kupiec
2019-03-13 20:10:32 +0100
e498bc7646
It is enought to declare 'object'.
Rafal Kupiec
2019-03-13 19:59:48 +0100
a2749000d6
Do not store these information twice; save the memory.
Rafal Kupiec
2019-03-13 09:58:00 +0100
f71e60f641
Add fields to store information about method's return data type.
Rafal Kupiec
2019-03-13 09:43:27 +0100
cc4a9aa063
Merge branch 'typehinting' of ssh://git.codingworkshop.eu.org:8822/AerScript/Aer into typehinting
Rafal Kupiec
2019-03-13 09:36:26 +0100
c8985032ef
Verify that return value match the data type of declared method/closure.
Rafal Kupiec
2019-03-13 09:36:10 +0100
3e4064f55a
Another feature to not forget about.
Rafal Kupiec
2019-03-11 12:02:24 +0100
ac16d5ce57
Still many things to do here.
Rafal Kupiec
2019-03-11 08:24:13 +0100
df3d00d02c
Revert f1d4d80f65
.
Rafal Kupiec
2019-03-11 08:16:51 +0100
051bca470e
Save the closure return data type for further use.
Rafal Kupiec
2019-03-10 21:02:06 +0100
f1d4d80f65
Cleanup keywords.
Rafal Kupiec
2019-03-09 22:39:26 +0100
8aacf7c70e
Do not use PH7_KEYWORD_FUNCTION for closure declaration.
Rafal Kupiec
2019-03-09 19:43:56 +0100
0524092539
Add missing space in error message
Rafal Kupiec
2019-03-09 16:49:46 +0100
d6c5f01905
PH7_VmMemoryError() always breaks script execution.
Rafal Kupiec
2019-03-09 14:00:11 +0100
e86894f724
PH7_VmMemoryError() always breaks script execution.
Rafal Kupiec
2019-03-09 13:59:04 +0100
bd4151f426
Just fixed.
Rafal Kupiec
2019-03-09 13:40:24 +0100