Documentation ¶
Overview ¶
Package parser contains the parsing primitives needed to process the datadriven tests.
Index ¶
- type Parser
- func (p *Parser) Argument() ast.Argument
- func (p *Parser) AssignmentsArgument() ast.Argument
- func (p *Parser) BinaryOpArgument() ast.Argument
- func (p *Parser) Boolean() bool
- func (p *Parser) Booleans() []bool
- func (p *Parser) BooleansList() [][]bool
- func (p *Parser) ConstantsArgument() ast.Argument
- func (p *Parser) CumulativeArgument() ast.Argument
- func (p *Parser) Digits() int
- func (p *Parser) Domain() *ast.Domain
- func (p *Parser) DomainArgument() ast.Argument
- func (p *Parser) Domains() []*ast.Domain
- func (p *Parser) EOF() bool
- func (p *Parser) ElementArgument() ast.Argument
- func (p *Parser) Enforcement() *ast.Enforcement
- func (p *Parser) Errorf(format string, args ...interface{})
- func (p *Parser) Fail()
- func (p *Parser) FailNow()
- func (p *Parser) Fatal(args ...interface{})
- func (p *Parser) Fatalf(format string, args ...interface{})
- func (p *Parser) Identifier() string
- func (p *Parser) ImplicationArgument() ast.Argument
- func (p *Parser) Interval() *ast.Interval
- func (p *Parser) IntervalDemand() *ast.IntervalDemand
- func (p *Parser) IntervalDemands() []*ast.IntervalDemand
- func (p *Parser) Intervals() []*ast.Interval
- func (p *Parser) IntervalsArgument() ast.Argument
- func (p *Parser) KArgument() ast.Argument
- func (p *Parser) LinearEqualityArgument() ast.Argument
- func (p *Parser) LinearExpr() *ast.LinearExpr
- func (p *Parser) LinearExprs() []*ast.LinearExpr
- func (p *Parser) LinearExprsArgument() ast.Argument
- func (p *Parser) LinearTerm() *ast.LinearTerm
- func (p *Parser) Method() ast.Method
- func (p *Parser) NonOverlapping2DArgument() ast.Argument
- func (p *Parser) Number() int
- func (p *Parser) Numbers() []int
- func (p *Parser) NumbersList() [][]int
- func (p *Parser) Receiver() string
- func (p *Parser) Statement() *ast.Statement
- func (p *Parser) Variable() string
- func (p *Parser) VariableEqualityArgument() ast.Argument
- func (p *Parser) Variables() []string
- func (p *Parser) VariablesArgument() ast.Argument
- func (p *Parser) Word() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Parser ¶
type Parser struct {
// contains filtered or unexported fields
}
Parser exposes a set of parsing primitives to process the datadriven tests.
func (*Parser) Argument ¶
Argument = AssignmentsArgument
| BinaryOpArgument | ConstantsArgument | CumulativeArgument | DomainArgument | ElementArgument | IntervalsArgument | ImplicationArgument | KArgument | LinearEqualityArgument | LinearExprsArgument | NonOverlapping2DArgument | VariableEqualityArgument | VariablesArgument .
func (*Parser) AssignmentsArgument ¶
AssignmentsArgument = "[" Variables "]" ("∈" | "∉") (NumbersList | BooleanList) .
func (*Parser) BinaryOpArgument ¶
BinaryOpArgument = Identifier ( "/" | "%" | "*" ) Identifier "==" Identifier .
func (*Parser) BooleansList ¶
BooleansList = "[" Booleans "]" { "∪" "[" Booleans "]" } .
func (*Parser) ConstantsArgument ¶
ConstantsArgument = Variables "==" Number .
func (*Parser) CumulativeArgument ¶
CumulativeArgument = IntervalDemands "|" Identifier .
func (*Parser) DomainArgument ¶
DomainArgument = ( Variables | LinearExprs ) "in" Domains .
func (*Parser) ElementArgument ¶
ElementArgument = Identifier "==" "[" Variables "]" "[" Identifier "]" .
func (*Parser) Enforcement ¶
func (p *Parser) Enforcement() *ast.Enforcement
Enforcement = "if" Variables .
func (*Parser) Fatal ¶
func (p *Parser) Fatal(args ...interface{})
Fatal is parting of the testingT interface.
func (*Parser) ImplicationArgument ¶
ImplicationArgument = Identifier "→" Identifier .
func (*Parser) Interval ¶
Interval = Identifier "as" "[" Identifier "," Identifier "|" Identifier "]" .
func (*Parser) IntervalDemand ¶
func (p *Parser) IntervalDemand() *ast.IntervalDemand
IntervalDemand = Identifier ":" Identifier .
func (*Parser) IntervalDemands ¶
func (p *Parser) IntervalDemands() []*ast.IntervalDemand
IntervalDemands = IntervalDemand {"," IntervalDemand } .
func (*Parser) IntervalsArgument ¶
IntervalsArgument = Intervals .
func (*Parser) LinearEqualityArgument ¶
LinearEqualityArgument = LinearExpr "==" ("max" | "min") "(" LinearExprs ")" .
func (*Parser) LinearExpr ¶
func (p *Parser) LinearExpr() *ast.LinearExpr
LinearExpr = [ "-" ] LinearTerm { ("+" | "-") LinearTerm } | "Σ" "(" Variables ")" .
func (*Parser) LinearExprs ¶
func (p *Parser) LinearExprs() []*ast.LinearExpr
LinearExprs = LinearExpr { "," LinearExpr } .
func (*Parser) LinearExprsArgument ¶
LinearExprsArgument = LinearExprs .
func (*Parser) LinearTerm ¶
func (p *Parser) LinearTerm() *ast.LinearTerm
LinearTerm = { Digits } Identifier | Digits .
func (*Parser) NonOverlapping2DArgument ¶
NonOverlapping2DArgument = "[" Variables "]" "," "[" Variables "]" "," Boolean .
func (*Parser) NumbersList ¶
NumbersList = "[" Numbers "]" { "∪" "[" Numbers "]" } .
func (*Parser) VariableEqualityArgument ¶
VariableEqualityArgument = Identifier "==" ("max" | "min" ) "(" Variables ")" .
func (*Parser) VariablesArgument ¶
VariablesArgument = Variables .