parser

package
v0.0.0-...-9b02bcc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2022 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package parser contains the parsing primitives needed to process the datadriven tests.

Index

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 New

func New(tb testing.TB, input string) *Parser

New initializes a new parser for the given input.

func (*Parser) Argument

func (p *Parser) Argument() ast.Argument

Argument = AssignmentsArgument

| BinaryOpArgument
| ConstantsArgument
| CumulativeArgument
| DomainArgument
| ElementArgument
| IntervalsArgument
| ImplicationArgument
| KArgument
| LinearEqualityArgument
| LinearExprsArgument
| NonOverlapping2DArgument
| VariableEqualityArgument
| VariablesArgument .

func (*Parser) AssignmentsArgument

func (p *Parser) AssignmentsArgument() ast.Argument

AssignmentsArgument = "[" Variables "]" ("∈" | "∉") (NumbersList | BooleanList) .

func (*Parser) BinaryOpArgument

func (p *Parser) BinaryOpArgument() ast.Argument

BinaryOpArgument = Identifier ( "/" | "%" | "*" ) Identifier "==" Identifier .

func (*Parser) Boolean

func (p *Parser) Boolean() bool

Boolean = "true" | "false" .

func (*Parser) Booleans

func (p *Parser) Booleans() []bool

Booleans = Boolean { "," Boolean } .

func (*Parser) BooleansList

func (p *Parser) BooleansList() [][]bool

BooleansList = "[" Booleans "]" { "∪" "[" Booleans "]" } .

func (*Parser) ConstantsArgument

func (p *Parser) ConstantsArgument() ast.Argument

ConstantsArgument = Variables "==" Number .

func (*Parser) CumulativeArgument

func (p *Parser) CumulativeArgument() ast.Argument

CumulativeArgument = IntervalDemands "|" Identifier .

func (*Parser) Digits

func (p *Parser) Digits() int

Digits = Digit { Digit } .

func (*Parser) Domain

func (p *Parser) Domain() *ast.Domain

Domain = "[" Number "," Number "]" .

func (*Parser) DomainArgument

func (p *Parser) DomainArgument() ast.Argument

DomainArgument = ( Variables | LinearExprs ) "in" Domains .

func (*Parser) Domains

func (p *Parser) Domains() []*ast.Domain

Domains = Domain { "∪" Domain } .

func (*Parser) EOF

func (p *Parser) EOF() bool

EOF returns true if we're at the end of the input.

func (*Parser) ElementArgument

func (p *Parser) ElementArgument() ast.Argument

ElementArgument = Identifier "==" "[" Variables "]" "[" Identifier "]" .

func (*Parser) Enforcement

func (p *Parser) Enforcement() *ast.Enforcement

Enforcement = "if" Variables .

func (*Parser) Errorf

func (p *Parser) Errorf(format string, args ...interface{})

Errorf is parting of the testingT interface.

func (*Parser) Fail

func (p *Parser) Fail()

Fail is parting of the testingT interface.

func (*Parser) FailNow

func (p *Parser) FailNow()

FailNow is parting of the testingT interface.

func (*Parser) Fatal

func (p *Parser) Fatal(args ...interface{})

Fatal is parting of the testingT interface.

func (*Parser) Fatalf

func (p *Parser) Fatalf(format string, args ...interface{})

Fatalf is parting of the testingT interface.

func (*Parser) Identifier

func (p *Parser) Identifier() string

Identifier = Word .

func (*Parser) ImplicationArgument

func (p *Parser) ImplicationArgument() ast.Argument

ImplicationArgument = Identifier "→" Identifier .

func (*Parser) Interval

func (p *Parser) Interval() *ast.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) Intervals

func (p *Parser) Intervals() []*ast.Interval

Intervals = Interval { "," Interval } .

func (*Parser) IntervalsArgument

func (p *Parser) IntervalsArgument() ast.Argument

IntervalsArgument = Intervals .

func (*Parser) KArgument

func (p *Parser) KArgument() ast.Argument

KArgument = Variables "|" Digits .

func (*Parser) LinearEqualityArgument

func (p *Parser) LinearEqualityArgument() ast.Argument

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

func (p *Parser) LinearExprsArgument() ast.Argument

LinearExprsArgument = LinearExprs .

func (*Parser) LinearTerm

func (p *Parser) LinearTerm() *ast.LinearTerm

LinearTerm = { Digits } Identifier | Digits .

func (*Parser) Method

func (p *Parser) Method() ast.Method

Method = Identifier { "-" | Identifier | Digits } .

func (*Parser) NonOverlapping2DArgument

func (p *Parser) NonOverlapping2DArgument() ast.Argument

NonOverlapping2DArgument = "[" Variables "]" "," "[" Variables "]" "," Boolean .

func (*Parser) Number

func (p *Parser) Number() int

Number = [ "-" ] Digits .

func (*Parser) Numbers

func (p *Parser) Numbers() []int

Numbers = Number { "," Number } .

func (*Parser) NumbersList

func (p *Parser) NumbersList() [][]int

NumbersList = "[" Numbers "]" { "∪" "[" Numbers "]" } .

func (*Parser) Receiver

func (p *Parser) Receiver() string

Receiver = Identifier .

func (*Parser) Statement

func (p *Parser) Statement() *ast.Statement

Statement = Receiver "." Method "(" [ Argument ] ")" [ Enforcement ] .

func (*Parser) Variable

func (p *Parser) Variable() string

Variable = Identifier | Letter "to" Letter .

func (*Parser) VariableEqualityArgument

func (p *Parser) VariableEqualityArgument() ast.Argument

VariableEqualityArgument = Identifier "==" ("max" | "min" ) "(" Variables ")" .

func (*Parser) Variables

func (p *Parser) Variables() []string

Variables = Variable { "," Variable } .

func (*Parser) VariablesArgument

func (p *Parser) VariablesArgument() ast.Argument

VariablesArgument = Variables .

func (*Parser) Word

func (p *Parser) Word() string

Word = Letter { Letter } .

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL