Merge pull request #124 from z7zmey/issue-120
[#120] move dog.go from root folder
This commit is contained in:
commit
15e7237b45
61
README.md
61
README.md
@ -37,30 +37,44 @@ Usage example
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/z7zmey/php-parser/php7"
|
||||
"github.com/z7zmey/php-parser/visitor"
|
||||
"github.com/z7zmey/php-parser/pkg/cfg"
|
||||
"github.com/z7zmey/php-parser/pkg/errors"
|
||||
"github.com/z7zmey/php-parser/pkg/parser"
|
||||
"github.com/z7zmey/php-parser/pkg/version"
|
||||
"github.com/z7zmey/php-parser/pkg/visitor/dumper"
|
||||
)
|
||||
|
||||
func main() {
|
||||
src := []byte(`<? echo "Hello world";`)
|
||||
|
||||
parser := php7.NewParser(src, "7.4")
|
||||
parser.Parse()
|
||||
// Error handler
|
||||
|
||||
for _, e := range parser.GetErrors() {
|
||||
fmt.Println(e)
|
||||
var parserErrors []*errors.Error
|
||||
errorHandler := func(e *errors.Error) {
|
||||
parserErrors = append(parserErrors, e)
|
||||
}
|
||||
|
||||
visitor := visitor.Dumper{
|
||||
Writer: os.Stdout,
|
||||
Indent: "",
|
||||
// Parse
|
||||
|
||||
rootNode, err := parser.Parse(src, cfg.Config{
|
||||
Version: &version.Version{Major: 5, Minor: 6},
|
||||
ErrorHandlerFunc: errorHandler,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
log.Fatal("Error:" + err.Error())
|
||||
}
|
||||
|
||||
rootNode := parser.GetRootNode()
|
||||
rootNode.Walk(&visitor)
|
||||
// Dump
|
||||
|
||||
goDumper := dumper.NewDumper(os.Stdout).
|
||||
WithTokens().
|
||||
WithPositions()
|
||||
|
||||
rootNode.Accept(goDumper)
|
||||
}
|
||||
```
|
||||
|
||||
@ -68,14 +82,13 @@ Roadmap
|
||||
-------
|
||||
|
||||
- Control Flow Graph (CFG)
|
||||
- PhpDocComment parser
|
||||
- Stabilize api
|
||||
- PHP8
|
||||
|
||||
Install
|
||||
-------
|
||||
|
||||
```
|
||||
go get github.com/z7zmey/php-parser
|
||||
go get github.com/z7zmey/php-parser/cmd/php-parser
|
||||
```
|
||||
|
||||
CLI
|
||||
@ -85,16 +98,14 @@ CLI
|
||||
php-parser [flags] <path> ...
|
||||
```
|
||||
|
||||
| flag | type | description |
|
||||
|-------|------|----------------------------------------------|
|
||||
| -p | bool | print filepath |
|
||||
| -d |string| dump format: [custom, go, json, pretty-json] |
|
||||
| -r | bool | resolve names |
|
||||
| -ff | bool | parse and show free floating strings |
|
||||
| -prof |string| start profiler: [cpu, mem, trace] |
|
||||
| -php5 | bool | parse as PHP5 |
|
||||
|
||||
Dump AST to stdout.
|
||||
| flag | type | description |
|
||||
| ------- | ------ | --------------------------------- |
|
||||
| -p | bool | print filepath |
|
||||
| -e | bool | print errors |
|
||||
| -d | bool | dump in golang format |
|
||||
| -r | bool | resolve names |
|
||||
| -prof | string | start profiler: [cpu, mem, trace] |
|
||||
| -phpver | string | php version (default: 7.4) |
|
||||
|
||||
Namespace resolver
|
||||
------------------
|
||||
|
54
doc.go
54
doc.go
@ -1,54 +0,0 @@
|
||||
/*
|
||||
|
||||
A Parser for PHP written in Go
|
||||
|
||||
Features:
|
||||
|
||||
* Fully support PHP5 and PHP7 syntax
|
||||
* Abstract syntax tree representation
|
||||
* Traversing AST
|
||||
* Namespace resolver
|
||||
|
||||
Install:
|
||||
|
||||
go get github.com/z7zmey/php-parser
|
||||
|
||||
CLI dumper:
|
||||
|
||||
$GOPATH/bin/php-parser -php5 /path/to/file/or/dir
|
||||
|
||||
Package usage example:
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"bytes"
|
||||
"os"
|
||||
|
||||
"github.com/z7zmey/php-parser/php7"
|
||||
"github.com/z7zmey/php-parser/visitor"
|
||||
)
|
||||
|
||||
func main() {
|
||||
src := bytes.NewBufferString(`<? echo "Hello world";`)
|
||||
|
||||
parser := php7.NewParser(src, "example.php")
|
||||
parser.Parse()
|
||||
|
||||
for _, e := range parser.GetErrors() {
|
||||
fmt.Println(e)
|
||||
}
|
||||
|
||||
visitor := visitor.Dumper{
|
||||
Writer: os.Stdout,
|
||||
Indent: "",
|
||||
Comments: parser.GetComments(),
|
||||
Positions: parser.GetPositions(),
|
||||
}
|
||||
|
||||
rootNode := parser.GetRootNode()
|
||||
rootNode.Walk(visitor)
|
||||
}
|
||||
*/
|
||||
package main // import "github.com/z7zmey/php-parser"
|
50
pkg/parser/doc.go
Normal file
50
pkg/parser/doc.go
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
|
||||
A Parser for PHP written in Go
|
||||
|
||||
Package usage example:
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/z7zmey/php-parser/pkg/cfg"
|
||||
"github.com/z7zmey/php-parser/pkg/errors"
|
||||
"github.com/z7zmey/php-parser/pkg/parser"
|
||||
"github.com/z7zmey/php-parser/pkg/version"
|
||||
"github.com/z7zmey/php-parser/pkg/visitor/dumper"
|
||||
)
|
||||
|
||||
func main() {
|
||||
src := []byte(`<? echo "Hello world";`)
|
||||
|
||||
// Error handler
|
||||
|
||||
var parserErrors []*errors.Error
|
||||
errorHandler := func(e *errors.Error) {
|
||||
parserErrors = append(parserErrors, e)
|
||||
}
|
||||
|
||||
// Parse
|
||||
|
||||
rootNode, err := parser.Parse(src, cfg.Config{
|
||||
Version: &version.Version{Major: 5, Minor: 6},
|
||||
ErrorHandlerFunc: errorHandler,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
log.Fatal("Error:" + err.Error())
|
||||
}
|
||||
|
||||
// Dump
|
||||
|
||||
goDumper := dumper.NewDumper(os.Stdout).
|
||||
WithTokens().
|
||||
WithPositions()
|
||||
|
||||
rootNode.Accept(goDumper)
|
||||
}
|
||||
*/
|
||||
package parser
|
Loading…
Reference in New Issue
Block a user