Documentation
¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Circular ¶
Example ¶
package main
import (
"fmt"
"github.com/di-wu/parser/ast"
"github.com/di-wu/parser/examples/circular"
)
func main() {
p, _ := ast.New([]byte("00001"))
fmt.Println(p.Expect(ast.Capture{
TypeStrings: []string{"Number"},
Value: circular.Circular,
}))
}
Output: ["Number","00001"] <nil>
Example (Function) ¶
package main
import (
"fmt"
"github.com/di-wu/parser/ast"
"github.com/di-wu/parser/op"
)
func main() {
var circularFunc interface{}
circularFunc = func(p *ast.Parser) (*ast.Node, error) {
return p.Expect(op.Or{
op.And{
'0',
circularFunc,
},
'1',
})
}
p, _ := ast.New([]byte("00001"))
fmt.Println(p.Expect(ast.Capture{
TypeStrings: []string{"Circular"},
Value: circularFunc,
}))
}
Output: ["Circular","00001"] <nil>
func Parse ¶
Example ¶
package main
import (
"fmt"
"github.com/di-wu/parser/examples/circular"
)
func main() {
fmt.Println(circular.Parse("00001"))
fmt.Println(circular.Parse("01001"))
fmt.Println(circular.Parse("00100"))
}
Output: ["Circular","00001"] <nil> ["Circular","01"] <nil> ["Circular","001"] <nil>
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.