simplify inserted whitespaces
This commit is contained in:
parent
89a5e3ae0d
commit
5c9cdc0ad1
@ -7,11 +7,10 @@ quoted:alias:nows = "\"" ([^\\"] | "\\" .)* "\"";
|
|||||||
word:alias:nows = ([^\\"\n=#.\[\] \b\f\r\t\v] | "\\" .)+;
|
word:alias:nows = ([^\\"\n=#.\[\] \b\f\r\t\v] | "\\" .)+;
|
||||||
symbol = word+ | quoted;
|
symbol = word+ | quoted;
|
||||||
|
|
||||||
key-form:alias = symbol | symbol ("." symbol)+;
|
key-form:alias = symbol ("." symbol)*;
|
||||||
key = key-form;
|
key = key-form;
|
||||||
|
|
||||||
group-key-form:alias = "[" key-form "]";
|
group-key = (comment "\n")? "[" key-form "]";
|
||||||
group-key = (comment "\n")? group-key-form | group-key-form;
|
|
||||||
|
|
||||||
value-chars:alias:nows = ([^\\"\n=# \b\f\r\t\v] | "\\" .)+;
|
value-chars:alias:nows = ([^\\"\n=# \b\f\r\t\v] | "\\" .)+;
|
||||||
value = value-chars+ | quoted;
|
value = value-chars+ | quoted;
|
||||||
|
@ -65,12 +65,13 @@ func applyWhitespaceToSeq(s *sequenceDefinition) []definition {
|
|||||||
items []SequenceItem
|
items []SequenceItem
|
||||||
)
|
)
|
||||||
|
|
||||||
|
whitespace := SequenceItem{Name: whitespaceName, Min: 0, Max: -1}
|
||||||
for i, item := range s.items {
|
for i, item := range s.items {
|
||||||
|
if item.Max >= 0 && item.Max <= 1 {
|
||||||
if i > 0 {
|
if i > 0 {
|
||||||
items = append(items, SequenceItem{Name: whitespaceName, Min: 0, Max: -1})
|
items = append(items, whitespace)
|
||||||
}
|
}
|
||||||
|
|
||||||
if item.Max >= 0 && item.Max <= 1 {
|
|
||||||
items = append(items, item)
|
items = append(items, item)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -78,7 +79,7 @@ func applyWhitespaceToSeq(s *sequenceDefinition) []definition {
|
|||||||
singleItem := SequenceItem{Name: item.Name, Min: 1, Max: 1}
|
singleItem := SequenceItem{Name: item.Name, Min: 1, Max: 1}
|
||||||
|
|
||||||
restName := patchName(item.Name, s.nodeName(), "wsrest")
|
restName := patchName(item.Name, s.nodeName(), "wsrest")
|
||||||
restDef := newSequence(restName, Alias, []SequenceItem{{Name: whitespaceName, Min: 0, Max: -1}, singleItem})
|
restDef := newSequence(restName, Alias, []SequenceItem{whitespace, singleItem})
|
||||||
defs = append(defs, restDef)
|
defs = append(defs, restDef)
|
||||||
|
|
||||||
restItems := SequenceItem{Name: restName, Min: 0, Max: -1}
|
restItems := SequenceItem{Name: restName, Min: 0, Max: -1}
|
||||||
@ -90,12 +91,16 @@ func applyWhitespaceToSeq(s *sequenceDefinition) []definition {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if item.Min > 0 {
|
if item.Min > 0 {
|
||||||
|
if i > 0 {
|
||||||
|
items = append(items, whitespace)
|
||||||
|
}
|
||||||
|
|
||||||
items = append(items, singleItem, restItems)
|
items = append(items, singleItem, restItems)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
optName := patchName(item.Name, s.nodeName(), "wsopt")
|
optName := patchName(item.Name, s.nodeName(), "wsopt")
|
||||||
optDef := newSequence(optName, Alias, []SequenceItem{singleItem, restItems})
|
optDef := newSequence(optName, Alias, []SequenceItem{whitespace, singleItem, restItems})
|
||||||
defs = append(defs, optDef)
|
defs = append(defs, optDef)
|
||||||
items = append(items, SequenceItem{Name: optName, Min: 0, Max: 1})
|
items = append(items, SequenceItem{Name: optName, Min: 0, Max: 1})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user