add support for :: delimiter in x86 labels and identifiers

This commit is contained in:
JanLJL
2020-12-07 02:45:49 +01:00
parent f9f1120da6
commit 2093610bbf

View File

@@ -38,14 +38,18 @@ class ParserX86ATT(BaseParser):
rest = pp.Word(pp.alphanums + '$_.+-')
identifier = pp.Group(
pp.Optional(id_offset).setResultsName('offset')
+ pp.Combine(first + pp.Optional(rest)).setResultsName('name')
+ pp.Combine(pp.delimitedList(
pp.Combine(first + pp.Optional(rest)), delim='::'), joinString='::'
).setResultsName('name')
+ pp.Optional(relocation).setResultsName('relocation')
).setResultsName('identifier')
# Label
rest = pp.Word(pp.alphanums + '$_.+-()')
label_rest = pp.Word(pp.alphanums + '$_.+-()')
label_identifier = pp.Group(
pp.Optional(id_offset).setResultsName('offset')
+ pp.Combine(first + pp.Optional(rest)).setResultsName('name')
+ pp.Combine(pp.delimitedList(
pp.Combine(first + pp.Optional(label_rest)), delim='::'), joinString='::'
).setResultsName('name')
+ pp.Optional(relocation).setResultsName('relocation')
).setResultsName('identifier')
numeric_identifier = pp.Group(