Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
199 commits
Select commit Hold shift + click to select a range
fee5c0b
prepare for LSP
wudi Dec 4, 2025
4c17f98
feat: Implement PHP Language Server Protocol (LSP) support
wudi Dec 4, 2025
37d9daa
fix: handle empty class names and adjust selection span in DocumentSy…
wudi Dec 4, 2025
010979e
feat: add PHP Parser RS LSP extension
wudi Dec 4, 2025
d30f867
fix: update .gitignore to include additional directories for exclusion
wudi Dec 4, 2025
2fd15b2
feat: enhance symbol indexing with optional symbol kinds and add fold…
wudi Dec 4, 2025
0ca881e
feat: enhance indexing with parameter support and add document link a…
wudi Dec 4, 2025
bafcea7
feat: implement CodeLens support with visitor pattern and add goto de…
wudi Dec 4, 2025
1ef00b0
feat: enhance indexing with extends and implements support in Indexin…
wudi Dec 4, 2025
ad90b06
feat: enhance indexing with type information support in IndexingVisit…
wudi Dec 4, 2025
7db2401
feat: implement document formatting support with a new Formatter struct
wudi Dec 4, 2025
8b3b80c
rename to pls
wudi Dec 4, 2025
d8ee7de
feat: rename project to 'pls' and update related metadata
wudi Dec 4, 2025
1a4e1f1
fix: improve error message for syntax errors in parser
wudi Dec 4, 2025
c33c840
feat: add type hierarchy support with supertypes and subtypes methods
wudi Dec 4, 2025
08bdbc0
fix: enhance error handling by using human-readable messages for pars…
wudi Dec 4, 2025
b0a8f34
refactor: move php-parser to crates/php-parser
wudi Dec 4, 2025
eb847b2
feat: add architecture and design specification for PHP parser
wudi Dec 5, 2025
4c4362f
Implement core VM structure and initial opcode definitions
wudi Dec 5, 2025
2f370da
feat: add support for static properties and class constants in the PH…
wudi Dec 5, 2025
0b863e6
feat: implement try-catch exception handling and related opcodes
wudi Dec 5, 2025
52fdfd9
feat: implement closure support with captures and related opcodes
wudi Dec 5, 2025
e225b3d
Implement reference handling in PHP VM
wudi Dec 5, 2025
41aa4d3
feat: add built-in PHP functions for string and array manipulation
wudi Dec 5, 2025
be65b8b
feat: implement define() and defined() functions, add constant handli…
wudi Dec 5, 2025
02671d3
feat: add Fibonacci function evaluation test in VM
wudi Dec 5, 2025
b8776c7
feat: add php_constant function and corresponding test
wudi Dec 5, 2025
8117a81
Implement new opcode functionalities and corresponding tests
wudi Dec 5, 2025
ef56596
feat: implement loop constructs and short-circuit evaluation tests
wudi Dec 5, 2025
f5929f2
feat: add switch and match statement support in VM with corresponding…
wudi Dec 5, 2025
9d46b23
feat: implement support for interfaces and traits with corresponding …
wudi Dec 5, 2025
b9dbac5
feat: enhance closure support with static binding and reference handling
wudi Dec 5, 2025
813a772
Implement generator support in PHP VM
wudi Dec 5, 2025
2538499
feat: add global variable binding and dynamic object instantiation su…
wudi Dec 5, 2025
24b63a9
feat: implement static variable binding and support for isset/unset o…
wudi Dec 5, 2025
e4ee2e5
feat: add magic method support for __get, __set, __call, and __constr…
wudi Dec 6, 2025
204a87d
feat: add support for magic methods __callStatic, __isset, __unset, _…
wudi Dec 6, 2025
22d1b39
feat: add php_get_object_vars and php_var_export functions with tests
wudi Dec 6, 2025
b448815
feat: implement __debugInfo support in php_var_dump and refactor VM m…
wudi Dec 6, 2025
23b69d4
feat: implement __toString conversion for various value types and add…
wudi Dec 6, 2025
a628454
feat: add support for get_class, get_parent_class, and is_subclass_of…
wudi Dec 6, 2025
b4a0118
feat: add support for class and method existence checks, and implemen…
wudi Dec 6, 2025
53075fa
feat: add type checking functions (is_object, is_float, is_numeric, i…
wudi Dec 6, 2025
5d1cced
feat: implement string and array functions (substr, strpos, strtolowe…
wudi Dec 6, 2025
d339773
classified built-in functions
wudi Dec 6, 2025
ce5ddc1
Add Zend Opcodes to OpCode enum for enhanced opcode support
wudi Dec 6, 2025
530f1c0
Refactor argument handling in Emitter and VM
wudi Dec 6, 2025
2ba5adc
feat: add tests for magic assignment and property initialization in E…
wudi Dec 6, 2025
1f8d58a
feat: implement coalesce assignment operator (??=) in Emitter with tests
wudi Dec 6, 2025
5611fcf
feat: implement nested array fetch and coalesce assignment operator i…
wudi Dec 6, 2025
5286910
feat: add support for static property assignment operators in Emitter…
wudi Dec 6, 2025
e805a48
feat: add support for indirect variable expressions with dynamic hand…
wudi Dec 6, 2025
8098ab4
feat: add dynamic class constant fetching support in Emitter and VM, …
wudi Dec 6, 2025
87e5424
feat: add opcode parity coverage
wudi Dec 7, 2025
14679e1
fix: align snapshots and strlen behavior
wudi Dec 7, 2025
c51fdeb
feat: add array unpacking support in Emitter
wudi Dec 7, 2025
425901d
refactor: remove unused OpCodes and update tests for variadic argumen…
wudi Dec 7, 2025
81ffcbf
feat: update ArrayKey to use Rc for string keys and refactor opcode e…
wudi Dec 7, 2025
281dbe5
Refactor string assertions in tests to use `as_slice()`
wudi Dec 7, 2025
ee51b5a
feat: add new dependencies and implement PHP interpreter with REPL su…
wudi Dec 8, 2025
cbe6e3c
feat: enhance object dumping in php_var_dump to include properties
wudi Dec 8, 2025
0a9dd45
fix: ensure proper handling of non-static method calls in VM
wudi Dec 8, 2025
3c25f1e
feat: add tests for parent constructor calls and self static method c…
wudi Dec 8, 2025
74edc81
feat: implement OutputWriter trait and StdoutWriter for output handling
wudi Dec 8, 2025
67e8499
feat: add safe frame access helpers and improve error handling in VM
wudi Dec 8, 2025
a40a0a3
chore: remove outdated TODO file for parser implementation
wudi Dec 8, 2025
b1aec58
feat: enhance include and eval handling with improved error managemen…
wudi Dec 8, 2025
277cee8
feat: implement error handling with StderrErrorHandler and integrate …
wudi Dec 8, 2025
6efee7c
feat: improve error handling for undefined variables and add tests fo…
wudi Dec 8, 2025
5f9c046
feat: refactor argument handling in VM and introduce ArgList type for…
wudi Dec 8, 2025
9996fea
feat: enhance method call handling with improved argument management …
wudi Dec 8, 2025
44f279a
feat: implement PHP function handling for func_get_args, func_num_arg…
wudi Dec 8, 2025
54ed85a
feat: implement to_bool method for Val enum and enhance StdoutWriter …
wudi Dec 8, 2025
f736cc4
feat: enhance visibility handling in class methods and properties wit…
wudi Dec 8, 2025
514909c
feat: implement integer and float conversion methods for Val enum and…
wudi Dec 8, 2025
d358a65
feat: add support for #[AllowDynamicProperties] attribute and impleme…
wudi Dec 8, 2025
d85713f
Refactor array access in tests to use `map` field
wudi Dec 8, 2025
e2ae0cf
feat: add dump_bytecode utility for compiling and displaying PHP byte…
wudi Dec 8, 2025
11f462c
feat: implement magic constants handling and add tests for __LINE__, …
wudi Dec 8, 2025
5e2ea39
Add filesystem module and implement file I/O functions
wudi Dec 9, 2025
ac958a9
Refactor tests for improved readability and consistency
wudi Dec 9, 2025
8683066
refactor: simplify read_single_quoted logic for better readability
wudi Dec 9, 2025
3b241f8
feat: add error handling for unexpected tokens in parser
wudi Dec 9, 2025
483f3ec
feat: implement php_in_array and php_version_compare functions with e…
wudi Dec 9, 2025
7dfa099
Add HTTP builtins and enhance string formatting functions
wudi Dec 9, 2025
278038e
feat: implement PHP extension system with lifecycle hooks and a centr…
wudi Dec 9, 2025
f238f37
feat: Implement pthreads extension with CLI integration, VM engine su…
wudi Dec 9, 2025
7f1a79a
feat: Introduce pthreads extension documentation and a comprehensive …
wudi Dec 9, 2025
bdd32f8
feat: Add CLI argument support for `$argv` and `$argc`, implement `ge…
wudi Dec 9, 2025
219c961
feat: implement external command execution, environment, and temporar…
wudi Dec 9, 2025
9c06038
fmt && check
wudi Dec 9, 2025
99bf6b3
feat: add PCRE builtins (preg_match, preg_replace, preg_split, preg_q…
wudi Dec 15, 2025
9da569d
fix: trim operand stack on return
wudi Dec 16, 2025
ca1ea88
feat: implement WordPress compatibility improvements
wudi Dec 16, 2025
0f284fe
feat: add call_user_func_array for WordPress WP_Hook compatibility
wudi Dec 16, 2025
4a5822d
feat: add array pointer functions (current, next, reset, end) and arr…
wudi Dec 16, 2025
24b1b3d
fix: implement PostInc/PostDec opcodes for object properties
wudi Dec 16, 2025
23ae017
feat: add math and HTTP functions for WordPress compatibility
wudi Dec 16, 2025
b19097e
test: add WordPress compatibility test suite
wudi Dec 16, 2025
59215f2
refactor: remove obsolete test files for WordPress compatibility
wudi Dec 16, 2025
8181dcb
feat: implement comprehensive PHP date/time builtins
wudi Dec 16, 2025
6c22986
feat: implement print_r and fix echo escape sequences
wudi Dec 16, 2025
84fe651
feat: implement set_time_limit function and execution time limit enfo…
wudi Dec 16, 2025
8850070
refactor: update php_headers_sent function signature to remove unused…
wudi Dec 16, 2025
a408d4f
feat: implement output control functions and constants for PHP output…
wudi Dec 16, 2025
25a9fb2
feat: add output control demo script with comprehensive tests
wudi Dec 16, 2025
398c9a3
feat: implement error reporting and retrieval functions with demo tests
wudi Dec 16, 2025
53e969d
fix: update error reporting to use error handler interface
wudi Dec 16, 2025
a3f66ff
Implement Exception Handling and Native Methods in PHP VM
wudi Dec 16, 2025
61bde67
feat: implement return type system with verification and tests
wudi Dec 16, 2025
b8fabfe
feat: add callable return type verification tests and enhance return …
wudi Dec 16, 2025
520077d
feat: implement error handling for undefined constants and add relate…
wudi Dec 17, 2025
ed52870
feat: add tests for array and string offset access, including type co…
wudi Dec 17, 2025
ed1f7ca
Implement ArrayAccess interface support in PHP VM
wudi Dec 17, 2025
e5ea6ea
feat: implement predefined PHP interfaces and classes, including Iter…
wudi Dec 17, 2025
1f8eb39
Implement magic property overloading in PHP VM
wudi Dec 17, 2025
a4b6d9d
feat: implement property unset handling and enhance string interpolat…
wudi Dec 17, 2025
0d6515b
feat: add tests for isset and empty behavior on arrays, strings, and …
wudi Dec 17, 2025
5aef3ab
feat: implement binary assignment operations and corresponding tests
wudi Dec 18, 2025
6f901a9
feat: implement increment and decrement operations for static propert…
wudi Dec 18, 2025
01dfbd2
feat: enhance increment/decrement operations with error handling and …
wudi Dec 18, 2025
f0dbf34
feat: implement bitwise operations for strings with proper handling a…
wudi Dec 18, 2025
648b096
feat: refactor static property access handling in Emitter and VM for …
wudi Dec 18, 2025
c907d40
feat: implement inheritance chain traversal and refactor method looku…
wudi Dec 18, 2025
8a2b4d0
feat: refactor constant and static property access to use inheritance…
wudi Dec 18, 2025
48e711d
feat: unify visibility checks for class members and streamline error …
wudi Dec 18, 2025
3a00668
feat: refactor server superglobal creation for improved readability a…
wudi Dec 18, 2025
da3c4cf
feat: implement bitwise and boolean NOT operations, streamline contro…
wudi Dec 18, 2025
75a4b91
feat: unify visibility checks and refactor method frame handling for …
wudi Dec 18, 2025
9726e3b
feat: implement ArrayAccess interface support and error formatting ut…
wudi Dec 18, 2025
04b3f93
Implement control flow opcodes, variable operations, and type convers…
wudi Dec 18, 2025
ba363ea
refactor(vm): reuse stack helpers in dispatch
wudi Dec 18, 2025
1e11826
Refactor test files for improved readability and consistency
wudi Dec 18, 2025
0415414
feat(vm): add callable invocation helpers and refactor engine methods…
wudi Dec 18, 2025
16c7300
feat(vm): enhance eval handling with PHP mode wrapping and improved l…
wudi Dec 19, 2025
e40efc3
feat(vm): implement finally block handling and unwinding in PHP VM
wudi Dec 19, 2025
ce71c29
feat(vm): add finally block handling for return, break, and continue …
wudi Dec 19, 2025
a00dd9c
feat(vm): implement implicit return handling for functions and top-le…
wudi Dec 19, 2025
91262e8
feat(vm): implement try-finally handling for break and continue state…
wudi Dec 19, 2025
81fb0d5
feat(vm): enhance break and continue handling with multi-level suppor…
wudi Dec 19, 2025
8778ac1
Implement deep cloning for Val types and enhance magic property handling
wudi Dec 19, 2025
e943886
feat(vm): resolve class names for object instantiation and update rel…
wudi Dec 19, 2025
fbfbe12
feat(vm): add array_key_exists function and update magic property tests
wudi Dec 19, 2025
181fcef
feat(vm): implement finally block return value handling and update re…
wudi Dec 19, 2025
68b5a99
Implement $GLOBALS behavior for PHP 8.1+ compliance
wudi Dec 19, 2025
531c003
feat(vm): implement unset nested dimension operation and related tests
wudi Dec 19, 2025
ccbbda7
feat(vm): add frame operation helpers, superglobal management, and va…
wudi Dec 19, 2025
bc71f4f
Add JSON extension support with encoding, decoding, and error handling
wudi Dec 19, 2025
6cadccf
feat(json): implement JSON extension with encoding, decoding, and err…
wudi Dec 19, 2025
b3d6639
Implement PHP Hash Extension with MD5, SHA1, SHA256, and SHA512 algor…
wudi Dec 20, 2025
5d9137e
Implement MySQLi Extension for PHP VM
wudi Dec 20, 2025
0398128
Implement PDO extension with SQLite and MySQL drivers
wudi Dec 22, 2025
5bc489e
feat(pdo): implement transaction management and remove MySQL driver
wudi Dec 22, 2025
e96f8aa
feat: Add comprehensive planning and initial implementation structure…
wudi Dec 22, 2025
9c336b6
feat: introduce PDO and MySQLi extension documentation and initial PD…
wudi Dec 22, 2025
8b5d814
feat: add PostgreSQL PDO driver implementation.
wudi Dec 22, 2025
37e6abc
feat: add Oracle (OCI) PDO driver and its dependencies.
wudi Dec 22, 2025
b040eed
Add Zlib extension with compression and file handling functions
wudi Dec 22, 2025
535f874
Add Zip extension support and related tests
wudi Dec 22, 2025
f477460
Add OpenSSL extension support
wudi Dec 22, 2025
0c4b897
fix: handle openssl ref outputs
wudi Dec 22, 2025
76cd884
fix: honor native by-ref outputs
wudi Dec 22, 2025
0a4924c
feat: add URL handling functions and constants
wudi Dec 22, 2025
bd36fd8
feat: implement additional hash algorithms
wudi Dec 22, 2025
dcbf6ce
Implement DateTime and DateTimeZone classes with native methods and p…
wudi Dec 22, 2025
0ef6784
feat: add Hash extension with cryptographic functions
wudi Dec 22, 2025
e478e97
feat: enhance callable invocation and dynamic method handling in VM
wudi Dec 22, 2025
88e9830
feat: Implement bcmath extension
wudi Dec 22, 2025
dda6791
feat: implement 30+ PHP built-in string functions with parity
wudi Dec 22, 2025
08810fc
feat: add MySQLi extension with core functions
wudi Dec 23, 2025
e7a5d8f
feat: add support for inline HTML output in the emitter
wudi Dec 23, 2025
bd5cfa5
Implement FastCGI support with FPM SAPI adapter
wudi Dec 23, 2025
b2c7896
fix: fix test case
wudi Dec 23, 2025
11cdc42
feat: Add FastCGI support with a new `repro_fastcgi` crate, FPM confi…
wudi Dec 23, 2025
cb15ef4
Implement various hash algorithms and HMAC functionality
wudi Dec 23, 2025
ac79c78
feat(hash): add new hashing algorithms (Adler32, FNV variants, Joaat)
wudi Dec 23, 2025
da4bb6f
feat(hash): implement Tiger128/160 HMAC and support all hash algorithms
wudi Dec 23, 2025
2b940c6
Fix HMAC implementation: generic state, trait bounds, and HASH_HMAC s…
wudi Dec 23, 2025
9ae840e
Add test script for hash algorithms and incremental hashing
wudi Dec 23, 2025
9b1adc0
feat(fpm): implement `$_FILES` and multipart/form-data parsing
wudi Dec 23, 2025
ed7d5e3
feat(docs): add PHP-FPM implementation and quick start guide
wudi Dec 23, 2025
2caf357
Refactor tests to use common run_code functions
wudi Dec 24, 2025
2f456af
feat(executor): Implement working directory support and global variab…
wudi Dec 24, 2025
7117021
refactor(tests): unify output capture with common run_code_capture_ou…
wudi Dec 24, 2025
7d4b09a
Refactor VM engine initialization in tests to use EngineBuilder
wudi Dec 25, 2025
dfd32e0
refactor(request-context): remove unused lazy loading methods for bui…
wudi Dec 25, 2025
da7e311
refactor(engine): replace direct function access with registry method…
wudi Dec 25, 2025
db5389e
Implement PHP Date/Time Extension with core classes, exceptions, and …
wudi Dec 25, 2025
f9e5063
feat(engine): register Core and Date extensions during EngineContext …
wudi Dec 25, 2025
87a9bcb
Implement PHP 8.x Typed Property Validation with Coercion
wudi Dec 25, 2025
50490a8
fix: handle uninitialized values
wudi Dec 25, 2025
767ea2d
feat: validate property types
wudi Dec 25, 2025
ffdd1bb
feat: enhance FuncParam structure with variadic and default value sup…
wudi Dec 25, 2025
8b50d54
move docs
wudi Dec 26, 2025
562c012
feat: register additional PHP constants for URL and output control
wudi Dec 26, 2025
9816ab9
Add comprehensive tests for strict types handling in PHP VM
wudi Dec 26, 2025
eb5bc17
fix docs
wudi Dec 26, 2025
0827e91
remove TODO.md
wudi Dec 26, 2025
7740bf5
feat: implement additional date/time functions in the PHP VM
wudi Dec 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
.vscode/
build/
.idea/
/target
test_repos/
tmp_corpus/
tools/
run-tests.php
profile.pb
flamegraph.svg
*.log
*.log
node_modules/
editors/code/out
Loading