grammar t013parser;
options {
  language = Python3;
}

@parser::init {
self.identifiers = []
self.reportedErrors = []
}

@parser::members {
def foundIdentifier(self, name):
    self.identifiers.append(name)

def emitErrorMessage(self, msg):
    self.reportedErrors.append(msg)
}

document:
        t=IDENTIFIER {self.foundIdentifier($t.text)}
        ;

IDENTIFIER: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*;
