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
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/z7zmey/php-parser/php7"
|
"github.com/z7zmey/php-parser/pkg/cfg"
|
||||||
"github.com/z7zmey/php-parser/visitor"
|
"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() {
|
func main() {
|
||||||
src := []byte(`<? echo "Hello world";`)
|
src := []byte(`<? echo "Hello world";`)
|
||||||
|
|
||||||
parser := php7.NewParser(src, "7.4")
|
// Error handler
|
||||||
parser.Parse()
|
|
||||||
|
|
||||||
for _, e := range parser.GetErrors() {
|
var parserErrors []*errors.Error
|
||||||
fmt.Println(e)
|
errorHandler := func(e *errors.Error) {
|
||||||
|
parserErrors = append(parserErrors, e)
|
||||||
}
|
}
|
||||||
|
|
||||||
visitor := visitor.Dumper{
|
// Parse
|
||||||
Writer: os.Stdout,
|
|
||||||
Indent: "",
|
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()
|
// Dump
|
||||||
rootNode.Walk(&visitor)
|
|
||||||
|
goDumper := dumper.NewDumper(os.Stdout).
|
||||||
|
WithTokens().
|
||||||
|
WithPositions()
|
||||||
|
|
||||||
|
rootNode.Accept(goDumper)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -68,14 +82,13 @@ Roadmap
|
|||||||
-------
|
-------
|
||||||
|
|
||||||
- Control Flow Graph (CFG)
|
- Control Flow Graph (CFG)
|
||||||
- PhpDocComment parser
|
- PHP8
|
||||||
- Stabilize api
|
|
||||||
|
|
||||||
Install
|
Install
|
||||||
-------
|
-------
|
||||||
|
|
||||||
```
|
```
|
||||||
go get github.com/z7zmey/php-parser
|
go get github.com/z7zmey/php-parser/cmd/php-parser
|
||||||
```
|
```
|
||||||
|
|
||||||
CLI
|
CLI
|
||||||
@ -85,16 +98,14 @@ CLI
|
|||||||
php-parser [flags] <path> ...
|
php-parser [flags] <path> ...
|
||||||
```
|
```
|
||||||
|
|
||||||
| flag | type | description |
|
| flag | type | description |
|
||||||
|-------|------|----------------------------------------------|
|
| ------- | ------ | --------------------------------- |
|
||||||
| -p | bool | print filepath |
|
| -p | bool | print filepath |
|
||||||
| -d |string| dump format: [custom, go, json, pretty-json] |
|
| -e | bool | print errors |
|
||||||
| -r | bool | resolve names |
|
| -d | bool | dump in golang format |
|
||||||
| -ff | bool | parse and show free floating strings |
|
| -r | bool | resolve names |
|
||||||
| -prof |string| start profiler: [cpu, mem, trace] |
|
| -prof | string | start profiler: [cpu, mem, trace] |
|
||||||
| -php5 | bool | parse as PHP5 |
|
| -phpver | string | php version (default: 7.4) |
|
||||||
|
|
||||||
Dump AST to stdout.
|
|
||||||
|
|
||||||
Namespace resolver
|
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