Commit Graph

  • 5e6ed0f668
    New pipeline for new CI/CD. master belliash 2020-06-19 23:12:25 +0200
  • c940224d21
    Tower of Hanoi test. belliash 2019-12-22 22:58:36 +0100
  • 3eb82e632b
    Add new test - sudoku solver. belliash 2019-12-22 22:44:15 +0100
  • 709b5971c6
    Return can break loop execution as well. If it does, it needs to ensure VM_FRAME_ACTIVE is on top. belliash 2019-12-22 22:40:11 +0100
  • c730082fa0
    Do not issue OP_LF_STOP on 'break' inside 'switch' statement. belliash 2019-12-21 22:48:44 +0100
  • 0bf2f6d94f
    Correct error message. belliash 2019-12-21 16:22:16 +0100
  • b527840f10
    Correct arguments length. Get rid of some additional non-printable characters from the end of string. belliash 2019-12-21 15:33:55 +0100
  • ab36234ff3
    Add beaufort cipher test. belliash 2019-12-17 14:41:27 +0100
  • 9d762a2350
    Move debug-related code into separate file. belliash 2019-12-15 13:32:45 +0100
  • 0b5e94bacc
    Add missing operator description. belliash 2019-12-15 00:00:54 +0100
  • e623111f41
    Correct comment. belliash 2019-12-14 23:37:55 +0100
  • fd0685f16e
    Code formatting. belliash 2019-12-14 23:31:47 +0100
  • ad5784f81f
    Reimplement import() builtin function as a global-scope statement. This fixes #58. belliash 2019-12-14 23:30:38 +0100
  • 0e757111a3
    Add 'include' & 'require' statements test. belliash 2019-12-10 19:21:27 +0100
  • 469e5ba059
    Do not need debug symbols in CI/CD. belliash 2019-12-10 16:23:39 +0100
  • 9290db2504
    Another changes in file inclusion mechanism (#58): * Remove builtin functions: 'include' & 'require' * Implement 'include' and 'require' statements compiler * Implement OP_INCLUDE operator * Allow 'require' statement to be used in global scope as well as in method body and 'include' only in method body belliash 2019-12-10 16:09:26 +0100
  • 09e7400349
    Add forward declaration for VmExecIncludedFile(). belliash 2019-12-09 19:36:40 +0100
  • cb91a4bbf4
    Rework including mechanism (#58) related changes: * VmExecIncludedFile() does not need a call context * Builtin include() function does not need to return false, it throws an error belliash 2019-12-09 19:30:28 +0100
  • f3156bcbd5
    Throw E_ERROR when impossible to include specified file. belliash 2019-11-27 20:15:43 +0100
  • cb71daec12
    Code inclusion rework that include several changes (#58): * include() builtin function allows now to include a chunk of code, eg. a body of some loop * include() allows to load and execute file several times * require() still allows to include file just once and included file must have a valid OOP syntax * both functions will throw E_ERROR when impossible to include specified file belliash 2019-11-27 20:07:50 +0100
  • 63fd76c9c8
    Rework PH7_GenStateGetGlobalScopeHandler() function. belliash 2019-11-19 08:10:59 +0100
  • e1e6a19f30
    Update code formatting. belliash 2019-11-18 18:57:10 +0100
  • d3479a6e80
    Correct formatting. belliash 2019-11-18 08:11:13 +0100
  • 7076a6f3ed Merge branch 'master' of AerScript/Aer into release/v0.1 v0.1.1 release/v0.1 Rafal Kupiec 2019-11-02 09:24:55 +0100
  • a24e44fbf3
    Completely remove this broken threading implementation. Fixes #55. belliash 2019-10-28 21:35:16 +0100
  • f3972a9ca2
    Rename LFB/LFE operators. belliash 2019-10-25 23:09:30 +0200
  • f323e3cb57
    Make a use from PH7_MemObjIsHashmap(). belliash 2019-09-10 14:12:07 +0200
  • 426ec932ec
    Implement MemObjIsHashmap(). belliash 2019-09-10 10:55:54 +0200
  • 3aa31a9dfa
    Make a use from MemObjIsNumeric(). belliash 2019-09-10 10:10:52 +0200
  • f0aba06f4f
    Allow increment/decrement operations only on numeric operands. belliash 2019-09-10 08:03:35 +0200
  • 18b96064e4
    Do not allow to call non-existen array/string index. PHP returns a NULL for each call to non-existen array element, while AerScript design disallows usage of indexes outside the bounds. This fixes one of most serious PHP problems. belliash 2019-09-09 16:55:48 +0200
  • 91887c0185
    Do not try to access non-existen string index. belliash 2019-09-07 20:07:46 +0200
  • 3b9d91f186
    Revert 3dcc908788. belliash 2019-08-29 14:23:33 +0200
  • 0fb44bb1ae
    GitHub Funding. belliash 2019-08-23 13:48:56 +0200
  • d2335c86b2
    Base32::decode() cannot return boolean values. v0.1.0 Piotr Likoski 2019-07-12 17:05:27 +0200
  • 843c2d67d9
    I am pretty sure we want to use the number of elements in array in this place, not the actual size of array. The size of a structure is greater than the sum of its parts because of what is called packing. A particular processor has a preferred data size that it works with. Most modern processors' preferred size if 32-bits (4 bytes). Piotr Likoski 2019-07-12 14:36:56 +0200
  • 33b0f20573
    Check the snprintf() return value. Piotr Likoski 2019-07-12 14:10:09 +0200
  • d96dcdf1e0 Little build warning removal David Carlier 2019-07-11 07:17:34 +0000
  • a09c6b3fad
    Fix for index outside the bounds. belliash 2019-07-01 21:08:07 +0200
  • 4d150c2fe3
    No way this is working! belliash 2019-07-01 21:03:45 +0200
  • c94de60c29
    Properly implement tests. belliash 2019-07-01 20:07:06 +0200
  • 376b9510a9
    Fix typos, formatting. belliash 2019-06-30 14:13:35 +0200
  • ad49b81b33
    Add support for HTTP/2.0 protocol version. belliash 2019-06-30 09:51:15 +0200
  • 4afcbc0815
    Extend singleton test. belliash 2019-06-29 16:04:15 +0200
  • 171456beb4
    Release all elements in object allocation table. belliash 2019-06-29 15:54:05 +0200
  • 204060fa9d
    Implement TAU. belliash 2019-06-29 14:21:29 +0200
  • 616b2eeae3
    Cleanup the headers a bit. belliash 2019-06-29 11:50:01 +0200
  • 563c10bd20
    Do not omit floating point. belliash 2019-06-29 11:41:37 +0200
  • 2e695a9d35
    Link dynamically with libC. belliash 2019-06-29 11:15:03 +0200
  • 2ef2b6265c
    Never disable IO library. belliash 2019-06-29 11:10:50 +0200
  • a6d89da16b
    Do not support old libC. belliash 2019-06-28 19:43:23 +0200
  • 48d5088265
    Enable the magic number protection. belliash 2019-06-27 22:57:08 +0200
  • 3dcc908788
    Enable threading. belliash 2019-06-27 20:52:37 +0200
  • 4881ddf6de
    Pass compatible pointer type. belliash 2019-06-27 20:44:50 +0200
  • 312fb97db6
    Another FS-related bugfix to make compiler happy. belliash 2019-06-25 20:25:56 +0200
  • 0a2f1133d5
    Do not use pointer for file path. belliash 2019-06-25 20:10:27 +0200
  • 647454b98d
    Another signedness correction. belliash 2019-06-22 20:45:22 +0200
  • 72782b147a
    Do not convert between data pointers and function pointers. belliash 2019-06-22 12:35:33 +0200
  • edb62ed692
    Correct signedness. belliash 2019-06-22 12:34:49 +0200
  • 8b2086402e
    Fix all compiler warnings in AerScript compiler. belliash 2019-06-22 11:59:43 +0200
  • 8ee2dece06
    Test NULL-coalescing operator. belliash 2019-06-21 23:53:01 +0200
  • dcf37af75e
    Implement a NULL-coalescing '??' operator. belliash 2019-06-21 00:34:41 +0200
  • 6d964d6113
    Add missing declaration for PH7_MemObjIsNull() function. belliash 2019-06-21 00:30:35 +0200
  • 3045bd2d88
    Update lexer. Add missing operators. belliash 2019-06-20 14:30:49 +0200
  • 19d0628afc
    Do not try to duplicate an array when source equals to destination. belliash 2019-06-20 13:36:30 +0200
  • 59811ac742
    Completely rely on the compiler. belliash 2019-06-20 12:10:02 +0200
  • e40dc34026
    Pass proper line number from compiler to the virtual machine. belliash 2019-06-20 12:07:47 +0200
  • c76ae15a7b
    Disable undefined behavior sanitizer. belliash 2019-06-20 00:19:52 +0200
  • a1f1d50d25
    Allow to use compiler's sanitizer. This fixes #53. belliash 2019-06-19 17:38:36 +0200
  • ca51e2a5da
    Add comments. belliash 2019-06-19 10:14:01 +0200
  • bd24aa0605
    Correct more compiler warnings. belliash 2019-06-19 09:31:40 +0200
  • 690213e0c7
    Do not use a pointer for temporary value. belliash 2019-06-18 13:25:40 +0200
  • 0be38392bd
    Correct variable types, to make compiler silent. belliash 2019-06-17 14:28:03 +0200
  • bffd44a7b4
    Get rid of some annoying compiler warnings. belliash 2019-06-17 09:51:37 +0200
  • 173bac16ad
    Add missing definitions. belliash 2019-06-16 19:54:42 +0200
  • b3eb2d0139
    Include missing header. belliash 2019-06-16 08:41:42 +0200
  • 050a637e88
    Add missing declarations. belliash 2019-06-16 08:31:43 +0200
  • 8d0c128d22
    Fix comparison of integer expressions of different signedness. belliash 2019-06-16 00:37:20 +0200
  • c7b6e76d0d
    Get rid of unused variables/labels/etc. belliash 2019-06-16 00:33:03 +0200
  • 1a91fedb1f
    Proper SXUNUSED() macro implementation. belliash 2019-06-16 00:10:27 +0200
  • fffce10ba8
    Test for implicitly typed declarations. belliash 2019-06-15 23:44:10 +0200
  • ace4d56d7f
    The '-Og' is a better choice than '-O0' for producing debuggable code because some compiler passes that collect debug information are disabled at '-O0'. belliash 2019-06-15 18:12:27 +0200
  • 8985044054
    Remove some unused variables. belliash 2019-06-15 17:43:24 +0200
  • 77150e9d26
    Enable some code diagnostics. belliash 2019-06-15 17:20:51 +0200
  • aff19a98da
    Fibonacci sequence in AerScript implementation. belliash 2019-06-14 22:52:02 +0200
  • 010bdd7331
    Properly destroy temporary memory object. Fix memory leak. belliash 2019-06-14 17:16:41 +0200
  • 0bef248298
    Implement PH7_VmDestroyMemObj() to forcibly destroy a memory object. belliash 2019-06-14 17:11:34 +0200
  • d09a33da55
    Do not duplicate variable name in this case. This should save a lot of memory on many method calls. belliash 2019-06-14 10:17:50 +0200
  • 673796d878
    Add missing function description. belliash 2019-06-13 08:04:58 +0200
  • ea948216ff Merge 'master' branch. belliash 2019-06-12 18:56:04 +0200
  • 4723128b74
    Implement PH7_MemObjIsNull(). belliash 2019-06-12 18:55:41 +0200
  • da2e74ba08
    Revert commit 815b1481fc. belliash 2019-06-12 09:53:13 +0200
  • 0ef6b449c6
    Make a free slot in operator precedence for NULL-coalescing operator. belliash 2019-06-11 09:35:47 +0200
  • 815b1481fc
    Permit a discontiguous stack which is grown automatically as needed. The stack will have a guaranteed zone which is always available. The size of the guard area will be target specific. It will include enough stack space to actually allocate more stack space. Each function will have to verify that it has enough space in the current stack to execute. belliash 2019-06-10 20:06:25 +0200
  • 5c824ec67d
    Do not set any recursion depth limit. belliash 2019-06-10 12:11:55 +0200
  • 9aa192db69
    Remove unused argument from PH7_MemObjInitFromVoid(). belliash 2019-06-08 14:36:24 +0200
  • fdba2c0a5c
    Set data type to void, not just NULL. belliash 2019-06-08 13:59:44 +0200
  • 6c277c1eca
    Allow implicitly-typed variable declarations inside 'for' and 'foreach' loops. belliash 2019-06-08 13:35:16 +0200
  • 0327c3130f
    Do not allow to initialize an implicitly-typed variable with an array initializer. belliash 2019-06-08 13:09:35 +0200
  • 78c416c6b8
    Implement the implicit 'auto' type. An implicitly typed local variable is strongly typed just as if it had been declared the type, but the compiler determines the type. The following two declarations of $i are functionally equivalent: int $i = 10; // Explicitly typed. auto $i = 10; // Implicitly typed. belliash 2019-06-08 12:55:57 +0200