Commit Graph

  • 8681dcf61c Added new chapter Piotr Likoski 2018-08-02 20:18:48 +02:00
  • e0b939d9a2 In general it is a bad idea to compare memory. We should compare strings and check its length. Fixes #34. belliash 2018-08-02 17:42:19 +02:00
  • 19f8cf2599 Comply with GCC extensions Piotr Likoski 2018-08-02 16:33:07 +02:00
  • c86361a08b Add paragraph about native UTF-8 support Piotr Likoski 2018-08-02 16:21:04 +02:00
  • 6527b58b74 Fix ASM keyword in hash.c yvan-burrie 2018-08-02 02:54:01 +02:00
  • ddfa1ecb0d Syntax Error in vfs.c yvan-burrie 2018-08-02 02:45:23 +02:00
  • 614c192ec4 It derives also from C++ belliash 2018-08-01 18:27:48 +02:00
  • 77c02c8055 Correct a typo belliash 2018-08-01 18:27:20 +02:00
  • f83822343b Update issue template belliash 2018-08-01 17:24:13 +02:00
  • 7afe2c7c41 AerScript on the read belliash 2018-08-01 17:04:42 +02:00
  • b0cbf5c0f6 Build Aer belliash 2018-08-01 16:43:26 +02:00
  • b3ffd9cd8a The language is called AerScript or just Aer belliash 2018-08-01 16:35:30 +02:00
  • 449c427450 Automatically build everything if necessary belliash 2018-08-01 12:16:03 +02:00
  • 5abfefbb04 Remove duplicated entries belliash 2018-08-01 12:02:00 +02:00
  • 2c37807370 Get rid of global keyword, fixes #29 belliash 2018-07-31 15:24:56 +02:00
  • aa5a20f283 There is nothing like GOTO statement in P# belliash 2018-07-30 17:35:40 +02:00
  • 7b3e6c5b76 P# introduces virtual classes and virtual methods belliash 2018-07-30 17:08:25 +02:00
  • b7792dfc3d P# is not going to derive namespace syntax from PHP, but from C++. belliash 2018-07-30 16:55:49 +02:00
  • 48b2e9d1c6 Update comments belliash 2018-07-28 23:40:00 +02:00
  • e300575ab1 P# does not support PHP tags, thus there is also no need to support shortcut for echo. belliash 2018-07-28 23:18:48 +02:00
  • 5cb19f63a5 Get rid of alternative syntax for control structures (endif, endwhile, endfor, endforeach). Only curly brackets are allowed. belliash 2018-07-28 23:11:29 +02:00
  • 159cd76020 No need to duplicate exit() belliash 2018-07-28 22:48:32 +02:00
  • 3f1397ed93 Get rid of switch: endswitch construct belliash 2018-07-28 22:45:20 +02:00
  • ef2ea60a60 Treat whole file as P# source code. Fixes #24. belliash 2018-07-28 18:28:19 +02:00
  • 488fee5caf Another bunch of typos eliminated belliash 2018-07-28 13:16:38 +02:00
  • eb088cd0d7 Correcting another typos in code belliash 2018-07-28 12:56:19 +02:00
  • cd2adc1f51 Useless variable declaration & assignment belliash 2018-07-28 11:56:09 +02:00
  • 8ab80ff8bc Several fixes to multiple inheritance * Only first inherited class should be available via 'parent' keyword * If class X extends Y, Z and both Y and Z implements a(), $this->a() should match to the first one belliash 2018-07-28 11:53:56 +02:00
  • deabbd5554 Merge branch 'include_fix' into 'master' belliash 2018-07-28 10:17:18 +02:00
  • 765ec4d074 This is not needed anymore belliash 2018-07-28 00:02:48 +02:00
  • 72f2cc2c1b Remove useless fields, free some memory. belliash 2018-07-27 23:41:51 +02:00
  • bdf053a205 Implement a fix also for interface. This commit also adds initial and partial support for multiple inheritance. belliash 2018-07-27 23:28:34 +02:00
  • a6a43b5f3b This is useless now belliash 2018-07-27 21:19:59 +02:00
  • db93fd8b25 Make a use of our internal allocator instead of malloc() belliash 2018-07-27 21:16:50 +02:00
  • caf9126f0b Several changes: * small code cleanup * implement new structure for storing information about class inheritance * implement PH7_NewClassInfo() * make a use of smaller ph7_class_info instead of ph7_class, to reduce memory usage belliash 2018-07-27 21:05:54 +02:00
  • e47eef7d97 Fix error reporting belliash 2018-07-27 20:01:45 +02:00
  • 4bf46f1a87 I hate typos belliash 2018-07-27 19:00:29 +02:00
  • 33ab488ace Removing a debug printf calls and improve error handling. belliash 2018-07-27 18:52:32 +02:00
  • 9e885b3196 Generally speaking ... this is working. This commit partially fixes #5, however it still needs some work. TODO: * remove debugging printf calls, * some tuning, to consume less memory, * implement similar solution for interfaces belliash 2018-07-27 17:42:12 +02:00
  • af2c23d3b2 Add some basic checks. At this point, I can say it detects correctly a class declared inside inclueded file. belliash 2018-07-27 17:01:58 +02:00
  • e70a89fcdb This is useless. belliash 2018-07-27 08:28:57 +02:00
  • b040886b97 Test and temporary version of compiler emiting PH7_OP_CLASS_INIT instruction. However it works on ph7_class and thus passes whole class into the VM, what causes memory overhead, as finally we have to find this class on the VM's stack. Instead, we could pass some ph7_class_info structure containing a name of class to look for and information about its inheritances. belliash 2018-07-27 08:24:53 +02:00
  • c24a9bc251 Our implementation of SyStrncpy() belliash 2018-07-27 08:22:55 +02:00
  • 0e6e6773bb This field is useless now belliash 2018-07-25 19:04:08 +02:00
  • 09451f4042 Two changes come here: * do not allow two or more classes / interfaces with the same name * fix class_exists() builtin function so that it does not return true if interface is found belliash 2018-07-25 19:00:49 +02:00
  • 63b0f450d3 Move VM initialization into separate step to enable errors reporting earlier. belliash 2018-07-25 18:15:40 +02:00
  • 7bf76c3fa0 Make reported errors more PHP-like belliash 2018-07-25 16:54:25 +02:00
  • eaf5ca7b5f Make reported errors more PHP-like belliash 2018-07-25 16:54:25 +02:00
  • 0c08bc61d4 Add some basic tests for the beginning belliash 2018-07-25 13:41:31 +02:00
  • 6628a1ea3d This is probably what we would like to skip during compilation. belliash 2018-07-25 13:34:17 +02:00
  • abf9cf61b8 More typos to correct belliash 2018-07-24 18:30:58 +02:00
  • 6f64412108 Typo? Typo. Typo! belliash 2018-07-24 16:37:14 +02:00
  • ae2c1e2ae5 Fix for #6 belliash 2018-07-24 16:14:58 +02:00
  • c0a8608dd7 Make reported errors more PHP-like belliash 2018-07-24 15:45:44 +02:00
  • f42f51f037 ./ and ../ are still relative paths. Only files beginning with / and X:\ should be included directly. belliash 2018-07-24 10:29:16 +02:00
  • d3be8d2a1a Finally fix #16. I hope at least. belliash 2018-07-24 10:10:09 +02:00
  • a9637d2c8a This partially implements #16 - currently only for entry file. belliash 2018-07-24 09:06:35 +02:00
  • 11b4c95c6f Remove useless duplicated debug functions, they returned some trash information (nothing we don't get via debug_backtrace). belliash 2018-07-24 08:48:10 +02:00
  • 965f19b9b7 Add scripts directory to the include path. This fixes #17. belliash 2018-07-24 08:05:08 +02:00
  • e2aa774a6a Reimplement SyRealPath(); fix build. belliash 2018-07-23 20:45:30 +02:00
  • 2508603516 Another typo found belliash 2018-07-23 19:51:15 +02:00
  • 3ed00e610f Path builder working buffer has to be reinitialized every loop iteration, to clean it up from trash. belliash 2018-07-23 19:43:04 +02:00
  • 52d9616503 Revert d937d0c825 belliash 2018-07-23 19:39:21 +02:00
  • c28e0dbc88 There are problably still a lot of typos, here and there. belliash 2018-07-23 17:10:48 +02:00
  • d0b475841b Fix typo belliash 2018-07-23 16:42:30 +02:00
  • f8beab654d Cleanup after goto removal belliash 2018-07-23 16:40:32 +02:00
  • 90e2bc676f Fix for #2, taken from 063a5cffb7 (file_magic branch). Thanks to BigDave. belliash 2018-07-23 15:46:01 +02:00
  • 38186c3fda Correct error messages belliash 2018-07-23 15:23:18 +02:00
  • 17c486d599 Make reported errors more PHP-like belliash 2018-07-23 15:20:46 +02:00
  • 0d2238ac8c Add chapter about 64bit Integers belliash 2018-07-23 15:18:26 +02:00
  • d937d0c825 Merge branch 'fix_file_dir' of PSharp/psharp into master Rafal Kupiec 2018-07-23 07:50:12 +02:00
  • aa2d762b29 Fixing include files functions David Carlier 2018-07-23 06:34:25 +01:00
  • dba8e5098f fixing in the vm context instead, making the feature available in case realpath could be implemented as well David Carlier 2018-07-23 06:07:27 +01:00
  • 3ae20a1ca6 Fix #16 might needs to test under Windows. David Carlier 2018-07-22 21:46:50 +01:00
  • 7bb9924699 Call to undefined function should also be an error, not warning belliash 2018-07-22 22:47:00 +02:00
  • 9cae9eb905 Throw an error if it cannot match the overloaded function/method. This fixes #13. belliash 2018-07-22 21:41:33 +02:00
  • 63385281bf Break script execution on exit belliash 2018-07-22 21:28:05 +02:00
  • 578778567d Revert the revert belliash 2018-07-22 21:19:59 +02:00
  • 262b46392f Enable error reporting belliash 2018-07-22 20:49:27 +02:00
  • 2f275c5c8b Revert last changes belliash 2018-07-22 20:48:29 +02:00
  • ceca007cd1 Correct some typos belliash 2018-07-22 19:07:58 +02:00
  • e7b78be8e5 Fix #15, merge from fix_debug_backtrace branch (#18) David Carlier 2018-07-22 19:24:00 +01:00
  • 397246d2f1 adding style target (back) David Carlier 2018-07-22 17:11:30 +01:00
  • dc4208a07a Fix Darwin build belliash 2018-07-22 17:22:51 +02:00
  • 1645f0ccb9 Potentially fix all build issues belliash 2018-07-22 17:12:34 +02:00
  • c2e34931fe Fix installation belliash 2018-07-22 14:24:13 +02:00
  • 61d4ea1903 Initial version of Makefile that produces library belliash 2018-07-22 14:05:00 +02:00
  • 357be5ec0d Attempt to fix #3 (#14) David Carlier 2018-07-22 19:23:50 +01:00
  • 1e6e29e528 Even more debug information belliash 2018-07-22 12:26:42 +02:00
  • 144be6f095 Solving Darwin modules build. David Carlier 2018-07-22 08:04:15 +01:00
  • 2ad252e6f0 --export-dynamic is not supported for PE+ targets belliash 2018-07-21 22:19:18 +02:00
  • 3f776c8ef1 This quotation are unnecessary. String does not match because of them. Fix for Windows build. belliash 2018-07-21 22:14:30 +02:00
  • 3267ddd7ee Linker flags are also OS-specific belliash 2018-07-21 22:10:28 +02:00
  • 170381d04d LIBS have to be passed per OS belliash 2018-07-21 20:10:02 +02:00
  • a6747b63e0 dlopen api is included in the libc for BSD David Carlier 2018-07-21 15:54:08 +01:00
  • d1b874b391 Fix segmentation fault belliash 2018-07-21 14:44:36 +02:00
  • c79f1d26cc More information about P# belliash 2018-07-21 14:18:38 +02:00
  • 7e363cee41 Update README belliash 2018-07-21 13:23:13 +02:00
  • 6d52aa641d Initial readme belliash 2018-07-21 12:51:19 +02:00
  • e394ce7d14 Divide libcox by Symisc into smaller logical chunks belliash 2018-07-21 12:41:01 +02:00