Commit Graph
100 Commits
Author SHA1 Message Date
belliash 3c7f1b8f5b Fix overload resolution using argument compatibility and recursive array matching
Build / AerScript (push) Successful in 1m1s
2026-10-23 23:36:25 +02:00
belliash 206061c837 Correct comment
Build / AerScript (push) Successful in 32s
2025-08-30 19:37:31 +02:00
belliash cd924eb066 Revert context frame implementation
Build / AerScript (push) Successful in 32s
2025-08-30 18:27:59 +02:00
belliash 566997d080 Remove lonely hash
Build / AerScript (push) Successful in 38s
2025-08-29 22:47:29 +02:00
belliash e592eded1b Use strict type hinting with all OP_*_STORE opcodes
Build / AerScript (push) Successful in 37s
2025-08-29 22:38:37 +02:00
belliash b4486bf603 Fix test
Build / AerScript (push) Successful in 39s
2025-08-29 22:37:17 +02:00
belliash d73eb9b5b2 Implement exponentiation (**) operator
Build / AerScript (push) Successful in 40s
2025-08-29 22:04:55 +02:00
belliash 8ac9b148d1 Fix OP_*_STORE precedence
Build / AerScript (push) Successful in 39s
2025-08-29 20:55:58 +02:00
belliash c4023d62e1 Fix base32 test
Build / AerScript (push) Successful in 33s
2025-08-29 14:34:04 +02:00
belliash 5ff7d03ed1 Get rid of OP_UNUSED and implement additional context frame to resolve scope issue
Build / AerScript (push) Failing after 28s
2025-08-29 14:32:01 +02:00
belliash a167e4bc87 Permanently fix NULL comparision
Build / AerScript (push) Failing after 26s
2025-08-29 14:27:58 +02:00
belliash dc5725d1af Unset local for variable, fixes #62
Build / AerScript (push) Failing after 26s
2025-08-28 18:38:28 +02:00
belliash eead19918d Fix NULL comparision
Build / AerScript (push) Successful in 38s
2025-08-28 16:42:08 +02:00
belliash fdfeb219d9 Always print FALSE value when dumping bool variable
Build / AerScript (push) Successful in 45s
2025-08-28 15:33:48 +02:00
belliash be203e2e60 Implement system()
Build / AerScript (push) Successful in 31s
2025-08-28 15:14:59 +02:00
belliash d4b6fd782e Dummy change
Build / AerScript (push) Successful in 46s
2025-08-28 14:29:34 +02:00
belliash 145a18aa7e Switch to Gitea pipeline 2025-08-28 14:22:38 +02:00
belliash 5e6ed0f668 New pipeline for new CI/CD.
continuous-integration/drone/push Build is failing
2020-06-20 00:43:25 +02:00
belliash c940224d21 Tower of Hanoi test.
The build was successful.
2019-12-22 22:58:36 +01:00
belliash 3eb82e632b Add new test - sudoku solver.
The build was successful.
2019-12-22 22:44:15 +01:00
belliash 709b5971c6 Return can break loop execution as well. If it does, it needs to ensure VM_FRAME_ACTIVE is on top.
The build was successful.
2019-12-22 22:40:11 +01:00
belliash c730082fa0 Do not issue OP_LF_STOP on 'break' inside 'switch' statement.
The build was successful.
2019-12-21 22:48:44 +01:00
belliash 0bf2f6d94f Correct error message.
The build was successful.
2019-12-21 16:22:16 +01:00
belliash b527840f10 Correct arguments length. Get rid of some additional non-printable characters from the end of string.
The build was successful.
2019-12-21 15:33:55 +01:00
belliash ab36234ff3 Add beaufort cipher test.
The build was successful.
2019-12-17 14:41:27 +01:00
belliash 9d762a2350 Move debug-related code into separate file.
The build was successful.
2019-12-15 13:32:45 +01:00
belliash 0b5e94bacc Add missing operator description.
The build was successful.
2019-12-15 00:00:54 +01:00
belliash e623111f41 Correct comment.
The build was successful.
2019-12-14 23:37:55 +01:00
belliash fd0685f16e Code formatting.
The build was successful.
2019-12-14 23:31:47 +01:00
belliash ad5784f81f Reimplement import() builtin function as a global-scope statement. This fixes #58.
The build was successful.
2019-12-14 23:30:38 +01:00
belliash 0e757111a3 Add 'include' & 'require' statements test.
The build was successful.
2019-12-10 19:21:27 +01:00
belliash 469e5ba059 Do not need debug symbols in CI/CD.
The build was successful.
2019-12-10 16:23:39 +01:00
belliash 9290db2504 Another changes in file inclusion mechanism (#58):
The build was successful.
* 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
2019-12-10 16:09:26 +01:00
belliash 09e7400349 Add forward declaration for VmExecIncludedFile().
The build was successful.
2019-12-09 19:36:40 +01:00
belliash cb91a4bbf4 Rework including mechanism (#58) related changes:
The build was successful.
* VmExecIncludedFile() does not need a call context
 * Builtin include() function does not need to return false, it throws an error
2019-12-09 19:30:28 +01:00
belliash f3156bcbd5 Throw E_ERROR when impossible to include specified file.
The build was successful.
2019-11-27 20:15:43 +01:00
belliash cb71daec12 Code inclusion rework that include several changes (#58):
The build was successful.
* 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
2019-11-27 20:07:50 +01:00
belliash 63fd76c9c8 Rework PH7_GenStateGetGlobalScopeHandler() function.
The build was successful.
2019-11-19 08:10:59 +01:00
belliash e1e6a19f30 Update code formatting.
The build was successful.
2019-11-18 18:57:10 +01:00
belliash d3479a6e80 Correct formatting.
The build was successful.
2019-11-18 08:11:13 +01:00
belliash a24e44fbf3 Completely remove this broken threading implementation. Fixes #55.
The build was successful.
2019-10-28 21:35:16 +01:00
belliash f3972a9ca2 Rename LFB/LFE operators.
The build was successful.
2019-10-25 23:09:30 +02:00
belliash f323e3cb57 Make a use from PH7_MemObjIsHashmap().
The build was successful.
2019-09-10 14:12:07 +02:00
belliash 426ec932ec Implement MemObjIsHashmap().
The build was successful.
2019-09-10 10:55:54 +02:00
belliash 3aa31a9dfa Make a use from MemObjIsNumeric().
The build was successful.
2019-09-10 10:10:52 +02:00
belliash f0aba06f4f Allow increment/decrement operations only on numeric operands.
The build was successful.
2019-09-10 08:03:35 +02:00
belliash 18b96064e4 Do not allow to call non-existen array/string index.
The build was successful.
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.
2019-09-09 16:55:48 +02:00
belliash 91887c0185 Do not try to access non-existen string index.
The build was successful.
2019-09-07 20:07:46 +02:00
belliash 3b9d91f186 Revert 3dcc908788.
The build was successful.
2019-08-29 14:23:33 +02:00
belliash 0fb44bb1ae GitHub Funding.
The build was successful.
2019-08-23 13:48:56 +02:00
belliash a09c6b3fad Fix for index outside the bounds.
The build was successful.
2019-07-01 21:08:07 +02:00
belliash 4d150c2fe3 No way this is working!
The build was successful.
2019-07-01 21:03:45 +02:00
belliash c94de60c29 Properly implement tests.
The build was successful.
2019-07-01 20:07:06 +02:00
belliash 376b9510a9 Fix typos, formatting.
The build was successful.
2019-06-30 14:13:35 +02:00
belliash ad49b81b33 Add support for HTTP/2.0 protocol version.
The build was successful.
2019-06-30 09:51:15 +02:00
belliash 4afcbc0815 Extend singleton test.
The build was successful.
2019-06-29 16:04:15 +02:00
belliash 171456beb4 Release all elements in object allocation table.
The build was successful.
2019-06-29 15:54:05 +02:00
belliash 204060fa9d Implement TAU.
The build was successful.
2019-06-29 14:21:29 +02:00
belliash 616b2eeae3 Cleanup the headers a bit.
The build was successful.
2019-06-29 11:50:01 +02:00
belliash 563c10bd20 Do not omit floating point.
The build was successful.
2019-06-29 11:41:37 +02:00
belliash 2e695a9d35 Link dynamically with libC.
The build was successful.
2019-06-29 11:15:03 +02:00
belliash 2ef2b6265c Never disable IO library.
The build was successful.
2019-06-29 11:10:50 +02:00
belliash a6d89da16b Do not support old libC.
The build was successful.
2019-06-28 19:43:23 +02:00
belliash 48d5088265 Enable the magic number protection.
The build was successful.
2019-06-27 22:57:08 +02:00
belliash 3dcc908788 Enable threading.
The build was successful.
2019-06-27 20:52:37 +02:00
belliash 4881ddf6de Pass compatible pointer type.
The build was successful.
2019-06-27 20:44:50 +02:00
belliash 312fb97db6 Another FS-related bugfix to make compiler happy.
The build was successful.
2019-06-25 20:25:56 +02:00
belliash 0a2f1133d5 Do not use pointer for file path.
The build was successful.
2019-06-25 20:10:27 +02:00
belliash 647454b98d Another signedness correction.
The build was successful.
2019-06-22 20:45:22 +02:00
belliash 72782b147a Do not convert between data pointers and function pointers.
The build was successful.
2019-06-22 12:35:33 +02:00
belliash edb62ed692 Correct signedness.
The build was successful.
2019-06-22 12:34:49 +02:00
belliash 8b2086402e Fix all compiler warnings in AerScript compiler.
The build was successful.
2019-06-22 11:59:43 +02:00
belliash 8ee2dece06 Test NULL-coalescing operator.
The build was successful.
2019-06-21 23:53:01 +02:00
belliash dcf37af75e Implement a NULL-coalescing '??' operator.
The build was successful.
2019-06-21 00:34:41 +02:00
belliash 6d964d6113 Add missing declaration for PH7_MemObjIsNull() function.
The build was successful.
2019-06-21 00:30:35 +02:00
belliash 3045bd2d88 Update lexer. Add missing operators.
The build was successful.
2019-06-20 14:30:49 +02:00
belliash 19d0628afc Do not try to duplicate an array when source equals to destination.
The build was successful.
2019-06-20 13:36:30 +02:00
belliash 59811ac742 Completely rely on the compiler.
The build was successful.
2019-06-20 12:10:02 +02:00
belliash e40dc34026 Pass proper line number from compiler to the virtual machine.
The build was successful.
2019-06-20 12:07:47 +02:00
belliash c76ae15a7b Disable undefined behavior sanitizer.
The build was successful.
2019-06-20 00:19:52 +02:00
belliash a1f1d50d25 Allow to use compiler's sanitizer. This fixes #53.
The build was successful.
2019-06-19 17:38:36 +02:00
belliash ca51e2a5da Add comments.
The build was successful.
2019-06-19 10:14:01 +02:00
belliash bd24aa0605 Correct more compiler warnings.
The build was successful.
2019-06-19 09:31:40 +02:00
belliash 690213e0c7 Do not use a pointer for temporary value.
The build was successful.
2019-06-18 13:25:40 +02:00
belliash 0be38392bd Correct variable types, to make compiler silent.
The build was successful.
2019-06-17 14:28:03 +02:00
belliash bffd44a7b4 Get rid of some annoying compiler warnings.
The build was successful.
2019-06-17 09:51:37 +02:00
belliash 173bac16ad Add missing definitions.
The build was successful.
2019-06-16 19:54:42 +02:00
belliash b3eb2d0139 Include missing header.
The build was successful.
2019-06-16 08:41:42 +02:00
belliash 050a637e88 Add missing declarations.
The build was successful.
2019-06-16 08:31:43 +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 1a91fedb1f Proper SXUNUSED() macro implementation.
The build was successful.
2019-06-16 00:10:27 +02:00
belliash fffce10ba8 Test for implicitly typed declarations.
The build was successful.
2019-06-15 23:44:10 +02:00
belliash 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'.
The build was successful.
2019-06-15 18:12:27 +02:00
belliash 8985044054 Remove some unused variables.
The build was successful.
2019-06-15 17:43:24 +02:00
belliash 77150e9d26 Enable some code diagnostics.
The build was successful.
2019-06-15 17:20:51 +02:00
belliash aff19a98da Fibonacci sequence in AerScript implementation.
The build was successful.
2019-06-14 22:52:02 +02:00
belliash 010bdd7331 Properly destroy temporary memory object. Fix memory leak.
The build was successful.
2019-06-14 17:16:41 +02:00
belliash 0bef248298 Implement PH7_VmDestroyMemObj() to forcibly destroy a memory object.
The build was successful.
2019-06-14 17:11:34 +02:00
belliash d09a33da55 Do not duplicate variable name in this case.
The build was successful.
This should save a lot of memory on many method calls.
2019-06-14 10:17:50 +02:00