refactor parse phase - parsers

This commit is contained in:
Arpad Ryszka 2017-11-02 22:46:07 +01:00
parent 77c3356427
commit 223b868cf0
2 changed files with 5 additions and 17 deletions

View File

@ -63,7 +63,7 @@ func (d *choiceDefinition) validate(r *registry) error {
return nil return nil
} }
func (d *choiceDefinition) ensureBuilder() { func (d *choiceDefinition) createBuilder() {
if d.cbuilder != nil { if d.cbuilder != nil {
return return
} }
@ -91,7 +91,7 @@ func (d *choiceDefinition) init(r *registry) {
} }
d.initialized = true d.initialized = true
d.ensureBuilder() d.createBuilder()
d.initOptions(r) d.initOptions(r)
} }
@ -101,7 +101,6 @@ func (d *choiceDefinition) addGeneralization(g int) {
} }
d.generalizations = append(d.generalizations, g) d.generalizations = append(d.generalizations, g)
d.ensureBuilder()
for _, e := range d.optionDefs { for _, e := range d.optionDefs {
e.addGeneralization(g) e.addGeneralization(g)
} }

View File

@ -69,7 +69,7 @@ func (d *sequenceDefinition) validate(r *registry) error {
return nil return nil
} }
func (d *sequenceDefinition) ensureBuilder() { func (d *sequenceDefinition) createBuilder() {
if d.sbuilder != nil { if d.sbuilder != nil {
return return
} }
@ -78,6 +78,7 @@ func (d *sequenceDefinition) ensureBuilder() {
name: d.name, name: d.name,
id: d.id, id: d.id,
commit: d.commit, commit: d.commit,
ranges: d.ranges,
} }
} }
@ -111,10 +112,6 @@ func (d *sequenceDefinition) initItems(r *registry) {
d.allChars = allChars d.allChars = allChars
} }
func (d *sequenceDefinition) canHaveSpecializations() bool {
return len(d.items) == 1 && d.items[0].Max == 1
}
func (d *sequenceDefinition) init(r *registry) { func (d *sequenceDefinition) init(r *registry) {
if d.initialized { if d.initialized {
return return
@ -122,12 +119,8 @@ func (d *sequenceDefinition) init(r *registry) {
d.initialized = true d.initialized = true
d.initRanges() d.initRanges()
d.ensureBuilder() d.createBuilder()
d.sbuilder.ranges = d.ranges
d.initItems(r) d.initItems(r)
if d.canHaveSpecializations() {
d.itemDefs[0].addGeneralization(d.id)
}
} }
func (d *sequenceDefinition) addGeneralization(g int) { func (d *sequenceDefinition) addGeneralization(g int) {
@ -136,10 +129,6 @@ func (d *sequenceDefinition) addGeneralization(g int) {
} }
d.generalizations = append(d.generalizations, g) d.generalizations = append(d.generalizations, g)
d.ensureBuilder()
if d.canHaveSpecializations() {
d.itemDefs[0].addGeneralization(g)
}
} }
func (d *sequenceDefinition) createParser() { func (d *sequenceDefinition) createParser() {