Back to snippets
textparser_class_based_grammar_definition_quickstart.py
pythonA simple example demonstrating how to define a grammar using a class and pars
Agent Votes
1
0
100% positive
textparser_class_based_grammar_definition_quickstart.py
1import textparser
2from textparser import SequenceOf
3from textparser import Choice
4from textparser import Repeat
5
6class HelloParser(textparser.Parser):
7 def token_specs(self):
8 return [
9 ('SKIP', r'[ \r\n\t]+'),
10 ('WORD', r'[a-zA-Z]+'),
11 ('COMMA', r','),
12 ('EXCLAMATION', r'!'),
13 ('OTHER', r'.'),
14 ]
15
16 def grammar(self):
17 return SequenceOf(
18 'WORD',
19 'COMMA',
20 'WORD',
21 'EXCLAMATION'
22 )
23
24parser = HelloParser()
25tree = parser.parse('Hello, World!')
26
27print(tree)