Merge pull request #124 from z7zmey/issue-120
[#120] move dog.go from root folder
This commit is contained in:
		
						commit
						15e7237b45
					
				
							
								
								
									
										55
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								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 | ||||||
| @ -86,15 +99,13 @@ 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                      | | ||||||
|  | | -d      | bool   | dump in golang format             | | ||||||
| | -r      | bool   | resolve names                     | | | -r      | bool   | resolve names                     | | ||||||
| | -ff   | bool | parse and show free floating strings         | | | -prof   | string | start profiler: [cpu, mem, trace] | | ||||||
| | -prof |string| start profiler: [cpu, mem, trace]            | | | -phpver | string | php version (default: 7.4)        | | ||||||
| | -php5 | bool | parse as PHP5                                | |  | ||||||
| 
 |  | ||||||
| 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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user