Add default values for start and end of address range

This commit is contained in:
Corey Johnson & Nathan Sobo
2012-03-22 11:52:08 -07:00
parent f045ec9983
commit 5e5cd980f3
2 changed files with 27 additions and 6 deletions

View File

@@ -16,7 +16,11 @@ start
address = addressRange / primitiveAddress
addressRange
= start:primitiveAddress _ ',' _ end:address { return new AddressRange(start, end) }
= start:primitiveAddress? _ ',' _ end:address? {
if (!start) start = new LineAddress(0)
if (!end) end = new EofAddress()
return new AddressRange(start, end)
}
primitiveAddress
= lineNumber:integer { return new LineAddress(lineNumber) }