Commit Graph
45 Commits
Author SHA1 Message Date
belliash 3045bd2d88 Update lexer. Add missing operators.
The build was successful.
2019-06-20 14:30:49 +02:00
belliash 8d0c128d22 Fix comparison of integer expressions of different signedness.
The build was successful.
2019-06-16 00:37:20 +02:00
belliash c7b6e76d0d Get rid of unused variables/labels/etc.
The build was successful.
2019-06-16 00:33:03 +02:00
belliash cbe4f29909 Define 'auto' keyword.
The build was successful.
2019-06-08 12:19:00 +02:00
belliash d0995a4239 Rename 'instanceof' to 'is'.
The build was successful.
2019-06-06 11:53:17 +02:00
belliash d0840d7eea Cleanup after switching from 'parent' constant to '$parent' variable.
The build was successful.
2019-06-03 12:31:28 +02:00
belliash 625a386b69 Get rid of 'self' statement.
The build was successful.
2019-06-03 12:29:21 +02:00
belliash f2116a6461 Always use HTTPS when possible.
The build was successful.
2019-05-15 20:02:39 +02:00
belliash b36510943d Implement 'define' statement for defining constants globally.
The build was successful.
2019-05-04 17:08:09 +02:00
belliash 03fc167be1 Proper implementation of so hated 'goto' statement.
The build was successful.
2019-05-03 10:35:54 +02:00
belliash 4d8d92092e Refactor foreach() loop.
The build was successful.
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
belliash c9203b6c91 New source code legal format.
The build was successful.
2019-04-20 19:29:15 +02:00
belliash 291b6f0607 Get rid of backstick quoted strings (shell commands).
The build was successful.
2019-04-18 06:48:51 +02:00
belliash 0e8a2372dd Cleanup lexer from no longer used operators.
The build was successful.
2019-04-18 06:20:08 +02:00
belliash 395f6c446c Get rid of known from PHP 'elseif' construction.
The build was successful.
2019-04-17 07:55:32 +02:00
belliash a87471e1e3 The empty() function is useless in Aer.
The build was successful.
2019-03-24 09:22:10 +01:00
belliash 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.
The build has failed.
2019-03-23 19:51:19 +01:00
belliash 135e7c9698 VAR & FUNCTION are no longer valid keywords.
The build was successful.
2019-03-22 18:47:46 +01:00
belliash 65b178932a Get rid of array() & list() for the new syntax.
The build was successful.
2019-03-22 15:54:46 +01:00
belliash df3d00d02c Revert f1d4d80f65.
The build was successful.
2019-03-11 08:16:51 +01:00
belliash f1d4d80f65 Cleanup keywords.
The build was successful.
2019-03-09 22:39:26 +01:00
belliash fa0b487cc0 Implement typecasting to resource data type.
The build was successful.
2019-02-08 14:06:39 +01:00
belliash 784c705af6 Add callback cast operator.
The build was successful.
2018-12-13 10:07:44 +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 9884f8288b Do not allow typecasting to unset a variable.
The build was successful.
2018-09-18 22:11:57 +02:00
belliash 0a9cfce672 Group and add missing keywords.
The build was successful.
2018-09-06 19:47:06 +02:00
belliash fbc725c935 We are tokenizing Aer.
The build was successful.
2018-08-30 12:33:38 +02:00
belliash 9100bf0696 Treat 'import' as a special keyword.
The build was successful.
2018-08-16 16:32:28 +02:00
belliash b5fe36c14b There is no need for include_once() and require_once()
The build was successful.
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
belliash 7e3c79d3c5 Functions naming cleanup
The build was successful.
2018-08-13 20:16:37 +02:00
belliash d7f9d8e157 Add missing 'finally' keyword.
The build was successful.
2018-08-12 22:04:47 +02:00
belliash 59c15caf4e Use something more human readable
The build was successful.
2018-08-12 21:16:05 +02:00
belliash a4e6962a67 Free dot operator for further usage
The build was successful.
2018-08-07 08:13:44 +02:00
belliash 4bbdc20174 This commit contains several changes:
The build was successful.
* 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
belliash 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
belliash 2c37807370 Get rid of global keyword, fixes #29 2018-07-31 15:24:56 +02:00
belliash 7b3e6c5b76 P# introduces virtual classes and virtual methods 2018-07-30 17:08:25 +02:00
belliash b7792dfc3d P# is not going to derive namespace syntax from PHP, but from C++. 2018-07-30 16:55:49 +02:00
belliash 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
belliash 159cd76020 No need to duplicate exit() 2018-07-28 22:48:32 +02:00
belliash 3f1397ed93 Get rid of switch: endswitch construct 2018-07-28 22:45:20 +02:00
belliash ef2ea60a60 Treat whole file as P# source code. Fixes #24. 2018-07-28 18:28:19 +02:00
belliash d3ff86f692 Correct some typos 2018-07-21 11:30:41 +02:00
belliash abb91a9874 Reorganize the repository for new build system 2018-07-20 22:35:09 +02:00