package grammar
|
|
|
|
import "github.com/brettlangdon/gython/symbol"
|
|
|
|
type TestChild interface {
|
|
Rule
|
|
testChild()
|
|
}
|
|
|
|
type Test struct {
|
|
ListRule
|
|
}
|
|
|
|
func NewTest() *Test {
|
|
rule := &Test{}
|
|
rule.initBaseRule(symbol.TEST)
|
|
return rule
|
|
}
|
|
|
|
func (rule *Test) testlistStarExpressionChild() {}
|
|
func (rule *Test) testChild() {}
|
|
func (rule *Test) Append(n TestChild) { rule.ListRule.Append(n) }
|
|
|
|
type OrTestChild interface {
|
|
Rule
|
|
orTestChild()
|
|
}
|
|
|
|
type OrTest struct {
|
|
ListRule
|
|
}
|
|
|
|
func NewOrTest() *OrTest {
|
|
rule := &OrTest{}
|
|
rule.initBaseRule(symbol.OR_TEST)
|
|
return rule
|
|
}
|
|
|
|
func (rule *OrTest) testChild() {}
|
|
func (rule *OrTest) Append(n OrTestChild) { rule.ListRule.Append(n) }
|
|
|
|
type AndTestChild interface {
|
|
Rule
|
|
andTestChild()
|
|
}
|
|
|
|
type AndTest struct {
|
|
ListRule
|
|
}
|
|
|
|
func NewAndTest() *AndTest {
|
|
rule := &AndTest{}
|
|
rule.initBaseRule(symbol.AND_TEST)
|
|
return rule
|
|
}
|
|
|
|
func (rule *AndTest) orTestChild() {}
|
|
func (rule *AndTest) Append(n AndTestChild) { rule.ListRule.Append(n) }
|
|
|
|
type NotTestChild interface {
|
|
Rule
|
|
notTestChild()
|
|
}
|
|
|
|
type NotTest struct {
|
|
ParentRule
|
|
}
|
|
|
|
func NewNotTest() *NotTest {
|
|
rule := &NotTest{}
|
|
rule.initBaseRule(symbol.NOT_TEST)
|
|
return rule
|
|
}
|
|
|
|
func (rule *NotTest) notTestChild() {}
|
|
func (rule *NotTest) andTestChild() {}
|
|
func (rule *NotTest) SetChild(n NotTestChild) { rule.ParentRule.SetChild(n) }
|