stephens2424 / Php
Licence: bsd-3-clause
Parser for PHP written in Go
Stars: ✭ 516
Programming Languages
go
31211 projects - #10 most used programming language
Labels
Projects that are alternatives of or similar to Php
Parse Sdk Flutter
A Dart or Flutter plugin for Parse Server... Enjoy!
Stars: ✭ 407 (-21.12%)
Mutual labels: parse
Js Quantities
JavaScript library for quantity calculation and unit conversion
Stars: ✭ 335 (-35.08%)
Mutual labels: parse
Nlp
[UNMANTEINED] Extract values from strings and fill your structs with nlp.
Stars: ✭ 367 (-28.88%)
Mutual labels: parse
Breakdance
It's time for your markup to get down! HTML to markdown converter. Breakdance is a highly pluggable, flexible and easy to use.
Stars: ✭ 418 (-18.99%)
Mutual labels: parse
Demoinfocs Golang
High performance CS:GO demo parser for Go (demoinfo)
Stars: ✭ 288 (-44.19%)
Mutual labels: parse
Human Interval
Human readable time distances for javascript
Stars: ✭ 360 (-30.23%)
Mutual labels: parse
Probablepeople
👪 a python library for parsing unstructured western names into name components.
Stars: ✭ 427 (-17.25%)
Mutual labels: parse
Parse Torrent
Parse a torrent identifier (magnet uri, .torrent file, info hash)
Stars: ✭ 325 (-37.02%)
Mutual labels: parse
Nginxparser
Parses nginx configuration with Pyparsing — Used in Letsencrypt
Stars: ✭ 489 (-5.23%)
Mutual labels: parse
Parsepy
A relatively up-to-date fork of ParsePy, the Python wrapper for the Parse.com API. Originally maintained by @dgrtwo
Stars: ✭ 509 (-1.36%)
Mutual labels: parse
Fullstack Javascript
Source code for the Fullstack JavaScript book
Stars: ✭ 456 (-11.63%)
Mutual labels: parse
php
Parser for PHP written in Go
See this post for an introduction.
Test console:
Project Status
This project is under heavy development, though some pieces are more or less stable. Listed here are components that in progress or are ideas for future development
Feature | Status |
---|---|
Lexer and Parser | mostly complete. there are probably a few gaps still |
Scoping | complete for simple cases. probably some gaps still, most notably that conditional definitions are treated as if they are always defined |
Code search and symbol lookup | basic idea implemented, many many details missing |
Code formatting | basic idea implemented, formatting needs to narrow down to PSR-2 |
Transpilation to Go | basic idea implemented, need follow through with more node types |
Type inferencing | not begun |
Dead code analysis | basic idea implemented, but only for some types of code. Also, this suffers from the same caveats as scoping |
Project Components
Directory | Description |
---|---|
php/ast | (abstract syntax tree) describes the nodes in PHP as parsed by the parser |
php/ast/printer | prints an ast back to source code |
php/cmd | a tool used to debug the parser |
php/lexer | reads a stream of tokens from source code |
php/parser | the core parser |
php/passes | tools and packages related to modifying or analyzing PHP code (heavily a work in progress) |
php/passes/togo | transpiler |
php/passes/deadcode | dead code analyzer |
php/query | tools and packages related to analyzing and finding things in PHP code (heavily a work in progress) |
php/testdata | simple examples of PHP that must parse with no errors for tests to pass |
php/token | describes the tokens read by the lexer |
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].