Rafal Kupiec
8d0c128d22
Fix comparison of integer expressions of different signedness.
2019-06-16 00:37:20 +02:00
Rafal Kupiec
c7b6e76d0d
Get rid of unused variables/labels/etc.
2019-06-16 00:33:03 +02:00
Rafal Kupiec
cbe4f29909
Define 'auto' keyword.
2019-06-08 12:19:00 +02:00
Rafal Kupiec
d0995a4239
Rename 'instanceof' to 'is'.
2019-06-06 11:53:17 +02:00
Rafal Kupiec
d0840d7eea
Cleanup after switching from 'parent' constant to '$parent' variable.
2019-06-03 12:31:28 +02:00
Rafal Kupiec
625a386b69
Get rid of 'self' statement.
2019-06-03 12:29:21 +02:00
Rafal Kupiec
f2116a6461
Always use HTTPS when possible.
2019-05-15 20:02:39 +02:00
Rafal Kupiec
b36510943d
Implement 'define' statement for defining constants globally.
2019-05-04 17:08:09 +02:00
Rafal Kupiec
03fc167be1
Proper implementation of so hated 'goto' statement.
2019-05-03 10:35:54 +02:00
Rafal Kupiec
4d8d92092e
Refactor foreach() loop.
...
In AerScript, the foreach() loop is syntatically more similiar to C#, than PHP. However the optional '$key => $value' construct is still available, because arrays in AerScript are still a hashmaps.
2019-04-30 23:38:59 +02:00
Rafal Kupiec
c9203b6c91
New source code legal format.
2019-04-20 19:29:15 +02:00
Rafal Kupiec
291b6f0607
Get rid of backstick quoted strings (shell commands).
2019-04-18 06:48:51 +02:00
Rafal Kupiec
0e8a2372dd
Cleanup lexer from no longer used operators.
2019-04-18 06:20:08 +02:00
Rafal Kupiec
395f6c446c
Get rid of known from PHP 'elseif' construction.
2019-04-17 07:55:32 +02:00
Rafal Kupiec
a87471e1e3
The empty() function is useless in Aer.
2019-03-24 09:22:10 +01:00
Rafal Kupiec
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.
2019-03-23 19:51:19 +01:00
Rafal Kupiec
135e7c9698
VAR & FUNCTION are no longer valid keywords.
2019-03-22 18:47:46 +01:00
Rafal Kupiec
65b178932a
Get rid of array() & list() for the new syntax.
2019-03-22 15:54:46 +01:00
Rafal Kupiec
df3d00d02c
Revert f1d4d80f65
.
2019-03-11 08:16:51 +01:00
Rafal Kupiec
f1d4d80f65
Cleanup keywords.
2019-03-09 22:39:26 +01:00
Rafal Kupiec
fa0b487cc0
Implement typecasting to resource data type.
2019-02-08 14:06:39 +01:00
Rafal Kupiec
784c705af6
Add callback cast operator.
2018-12-13 10:07:44 +01:00
Rafal Kupiec
d65a529d21
Initial support for char data type.
2018-11-26 20:37:51 +01:00
Rafal Kupiec
174ecb2a38
Initial support for void type.
2018-11-23 09:19:37 +01:00
Rafal Kupiec
9884f8288b
Do not allow typecasting to unset a variable.
2018-09-18 22:11:57 +02:00
Rafal Kupiec
0a9cfce672
Group and add missing keywords.
2018-09-06 19:47:06 +02:00
Rafal Kupiec
fbc725c935
We are tokenizing Aer.
2018-08-30 12:33:38 +02:00
Rafal Kupiec
9100bf0696
Treat 'import' as a special keyword.
2018-08-16 16:32:28 +02:00
Rafal Kupiec
b5fe36c14b
There is no need for include_once() and require_once()
...
Aer is object-oriented language and the code it includes is executed in the global scope. Global scope can contain only classes and namespaces and they cannot be re-declared. Thus every file can be included just once. We can
leave this to programmer, or take care about it on interpreter side. With this commit, include() and require() builtin functions allows to load file just once. Thanks to that, there is no need for include_once() and
require_once(). Done in scope of #30 .
2018-08-16 16:12:29 +02:00
Rafal Kupiec
7e3c79d3c5
Functions naming cleanup
2018-08-13 20:16:37 +02:00
Rafal Kupiec
d7f9d8e157
Add missing 'finally' keyword.
2018-08-12 22:04:47 +02:00
Rafal Kupiec
59c15caf4e
Use something more human readable
2018-08-12 21:16:05 +02:00
Rafal Kupiec
a4e6962a67
Free dot operator for further usage
2018-08-07 08:13:44 +02:00
Rafal Kupiec
4bbdc20174
This commit contains several changes:
...
* print() is now treated as standard function
* get rid of echo() function
* fix test suite
and it fixes #26 .
2018-08-06 17:18:27 +02:00
Rafal Kupiec
e0b939d9a2
In general it is a bad idea to compare memory. We should compare strings and check its length. Fixes #34 .
2018-08-02 17:42:19 +02:00
Rafal Kupiec
2c37807370
Get rid of global keyword, fixes #29
2018-07-31 15:24:56 +02:00
Rafal Kupiec
7b3e6c5b76
P# introduces virtual classes and virtual methods
2018-07-30 17:08:25 +02:00
Rafal Kupiec
b7792dfc3d
P# is not going to derive namespace syntax from PHP, but from C++.
2018-07-30 16:55:49 +02:00
Rafal Kupiec
5cb19f63a5
Get rid of alternative syntax for control structures (endif, endwhile, endfor, endforeach). Only curly brackets are allowed.
2018-07-28 23:11:29 +02:00
Rafal Kupiec
159cd76020
No need to duplicate exit()
2018-07-28 22:48:32 +02:00
Rafal Kupiec
3f1397ed93
Get rid of switch: endswitch construct
2018-07-28 22:45:20 +02:00
Rafal Kupiec
ef2ea60a60
Treat whole file as P# source code. Fixes #24 .
2018-07-28 18:28:19 +02:00
Rafal Kupiec
d3ff86f692
Correct some typos
2018-07-21 11:30:41 +02:00
Rafal Kupiec
abb91a9874
Reorganize the repository for new build system
2018-07-20 22:35:09 +02:00