classicvalues / pecl-php-parsekit Goto Github PK
View Code? Open in Web Editor NEWThis project forked from php/pecl-php-parsekit
PHP Opcode Analyser
Home Page: http://pecl.php.net/package/parsekit
This project forked from php/pecl-php-parsekit
PHP Opcode Analyser
Home Page: http://pecl.php.net/package/parsekit
parsekit: PHP Opcode Analyser Provides a userspace interpretation of the opcodes generated by the Zend engine compiler built into PHP. This extension is meant for development and debug purposes only and contains some code which is potentially non-threadsafe. This extension exports two functions (parsekit_compile_string(string phpcode[, array &errors]) and parsekit_compile_file(string filename[, array &errors])) which will attempt to compile one or more blocks of PHP code into Zend opcodes. The output of these functions is an n-depth hash containing the main block of code's oparray at its root, with function_table and class_table elements to hold any functions or classes declared within the compiled code. In order to accomplish these compilation steps within the context of an active execution, some potentially unsafe methods are used. 1) Compilation modifies EG(function_table) and EG(class_table), after compilation completes, parsekit pops these functions and classes off the end of these stacks. 2) To avoid parse errors in supplied code causing a zend_bailout(), parsekit replaces zend_error_cb with a wrapper which passes E_CORE_ERROR or any error which occurs outside of parsekit_compile_*() onto the original zend_error_cb. If another module which replaced zend_error_cb were to be loaded prior to parsekit, then unloaded after parsekit's startup, but prior to parsekit's shutdown, then the global value zend_error_cb could become populated with an invalid function pointer. The moral of the story: Use this at your own risk. This extension also exports constant entries for all class types, function types, node types, and opcodes. While a name collision would be unexpected, all constants are prefixed with PARSEKIT_ just to be safe. Example: #define ZEND_NOP 0 Exported as: REGISTER_LONG_CONSTANT("PARSEKIT_ZEND_NOP", 0, CONST_CS | CONST_PERSISTENT); For examples on usage, refer to the examples subdirectory in this package.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.