Commit Graph

105 Commits

Author SHA1 Message Date
Rafal Kupiec a00e81f4f8
Move XML support into separate module. 2018-07-19 19:58:42 +02:00
Rafal Kupiec 98e2775e9a
Fix typos 2018-07-19 18:57:58 +02:00
Rafal Kupiec 95e9174058
Move JSON support into separate module. 2018-07-19 18:30:56 +02:00
Rafal Kupiec 0dc9a04f0e
It is a bad idea to compare memory. This fixes some false-positives. 2018-07-19 17:28:13 +02:00
Rafal Kupiec 28dbeeb1ad
I'm not a big Windows fun, so please correct me if this is not working 2018-07-19 17:22:36 +02:00
Rafal Kupiec d1e56b9206
sizeof() is enough 2018-07-19 16:52:39 +02:00
devnexen f0b3adc44a Further change for module load (#11) 2018-07-19 16:51:33 +02:00
devnexen e755fd55b9 Little build fix (#10) 2018-07-19 13:43:10 +02:00
Rafal Kupiec 641fa9e960
Move definition to header file 2018-07-19 07:40:39 +02:00
Rafal Kupiec 5908307885
Automatically unload all modules and free up memory on VM release. 2018-07-19 07:35:59 +02:00
Rafal Kupiec ee5504ea3a
Initial support for modules, partially implements #1 2018-07-18 22:01:04 +02:00
Rafal Kupiec 1929b3619a Merge branch 'php_random_port' of PSharp/psharp into master 2018-07-16 22:06:36 +02:00
David Carlier 62344a99ef Adding random_int/random_bytes functions but still using PH7 PRNG. 2018-07-16 16:13:20 +01:00
Rafal Kupiec 887b78ead0
Remove redundant whitespace 2018-07-15 19:52:27 +02:00
Rafal Kupiec 6abb65a04c
declare() is a stupid and useless construct. It will not be supported in P#. 2018-07-15 12:22:37 +02:00
Rafal Kupiec 9fe3ae2221
Fix indentation 2018-07-15 12:11:30 +02:00
Rafal Kupiec 6d0e346b7d
Correct coding style 2018-07-15 11:57:22 +02:00
Rafal Kupiec 4b05081d4a
Makefile can be also used on Windows, but it needs some tweaks 2018-07-15 11:54:00 +02:00
Rafal Kupiec 0178ff0495
Enable debugging symbols 2018-07-15 11:50:27 +02:00
Rafal Kupiec ac3f78785a
Add tasks for compiling P# on Unix-like OS 2018-07-15 11:34:32 +02:00
Rafal Kupiec e9c61bd49a
Updated VSCode to 1.25.1 2018-07-15 11:14:24 +02:00
Rafal Kupiec 4f4371545b
Implement register_autoload_handler() builtin function, that registers any number of autoloaders, enabling for classes to be automatically loaded if they are not defined.
Implement a mechanism, to iterate through registered autoload callbacks until class is found.
2018-07-15 00:06:26 +02:00
Rafal Kupiec 796acc5539
Enable math builtin functions 2018-07-13 22:04:50 +02:00
Rafal Kupiec 408ccc73c2
Do not switch to public visibility when dealing with constructor and/or destructor, this impairs language. 2018-07-13 18:14:39 +02:00
Rafal Kupiec d0357787db
Do not consider a method with the same name as class name to be a constructor, nor do not create such alias. This is some event from old PHP4, we do not want to support. Magic methods <__construct() & __destruct()> are more than
enough.
2018-07-13 17:58:50 +02:00
Rafal Kupiec e53cfb8ba0
Import unified template 2018-07-12 18:38:52 +02:00
Rafal Kupiec 5d1e75d72c
There will be no PDO. P# will contain DBAL 2018-07-12 18:21:14 +02:00
Rafal Kupiec 0552e388e7
Cleanup the code 2018-07-12 18:19:21 +02:00
Rafal Kupiec 7a8d95efd9
Small rewrite of Makefile 2018-07-12 18:18:06 +02:00
Rafal Kupiec 0c4f5bcd75
Serialization cannot depend on JSON. It needs to be rewritten in the future 2018-07-12 18:12:27 +02:00
Rafal Kupiec c8559bc111
VS Code configuration for P# project 2018-07-12 18:10:19 +02:00
Rafal Kupiec 4eb2e76498
Borrowed from Bash, but unnecessary 2018-07-12 18:08:25 +02:00
Rafal Kupiec caedd1a9f8
Only bool, float, int. They dont need synonyms. 2018-07-12 18:07:56 +02:00
Rafal Kupiec 8b59a01198
There is no need to use 'and' & 'or' keywords, as P# supports also '&&' and '||' to use respectively 2018-07-12 18:07:09 +02:00
Rafal Kupiec fb9e0726d8
No amalgamation here 2018-07-12 17:59:18 +02:00
Rafal Kupiec 8dd1305a51
Use astyle to format source code properly 2018-07-12 17:36:19 +02:00
Rafal Kupiec 4071f0b8ee
P# supports only ^^ keyword as a logical XOR. There is no need to have 'xor'. 2018-07-12 17:35:42 +02:00
Rafal Kupiec d898cd1e36
Code formatting 2018-07-12 17:24:46 +02:00
Rafal Kupiec 03bfd2203c
Reorganisation 2018-07-12 16:20:39 +02:00
Rafal Kupiec 25264bd774
extension in PH7, but standard in P# 2018-07-12 16:15:58 +02:00
Rafal Kupiec 0ad681ccf6
There is no fixed rule and XOR has different position in programming languages, but it has surely not higher precedence than AND and not lower than OR 2018-07-12 16:15:27 +02:00
Rafal Kupiec 5ad57f6740
Implement logical XOR operator (^^) 2018-07-12 16:14:51 +02:00
Rafal Kupiec f212588ab1
Removing unnecessary operators (eq, ne). Some special strings comparison should be implemented as a function like strcmp(). 2018-07-12 16:05:11 +02:00
Rafal Kupiec dce1b38e79
P# allows to use multiline string block, thus heredoc/newdoc syntax is not needed 2018-07-12 16:01:47 +02:00
Rafal Kupiec c7feffc43f
GOTO is an evil statement and should be avoid. Its not available in P# 2018-07-12 16:00:32 +02:00
Rafal Kupiec 612d15f676
Rename file 2018-07-12 15:59:22 +02:00
Rafal Kupiec 96fe73a39f
Be able to compile with -Wwrite-strings 2018-07-12 15:58:29 +02:00
Rafal Kupiec dff0a5c968
Replace automatically generated code with a more friendly equivalent 2018-07-12 15:50:47 +02:00
Rafal Kupiec f577943861
Fix VmEvalChunk() to also initialize and install static and constant class attributes 2018-07-12 15:48:30 +02:00
Rafal Kupiec 538ea8524a
Remove unused constant 2018-07-12 15:24:01 +02:00