Skip to content

Commit 658719c

Browse files
committed
Makes example.py nicer
1 parent 6d8ec2b commit 658719c

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

example.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,29 @@
1-
from syntactes.generator import LR0Generator
2-
from syntactes.grammar import Grammar
3-
from syntactes.rule import Rule
4-
from syntactes.token import Token
1+
from syntactes import Grammar, Rule, SLRGenerator, Token
52

63
EOF = Token.eof()
7-
S = Token("S", False)
4+
S = Token("S", is_terminal=False)
85
E = Token("E", False)
96
T = Token("T", False)
107
x = Token("x", True)
118
PLUS = Token("+", True)
129

1310
tokens = {EOF, S, E, T, x, PLUS}
1411

15-
16-
# S -> E $
12+
# 0. S -> E $
13+
# 1. E -> T + E
14+
# 2. E -> T
15+
# 3. T -> x
1716
rule_1 = Rule(0, S, E, EOF)
18-
# E -> T + E
1917
rule_2 = Rule(1, E, T, PLUS, E)
20-
# E -> T
2118
rule_3 = Rule(2, E, T)
22-
# T -> x
23-
rule_4 = Rule(3, T, x)
19+
rule_4 = Rule(4, T, x)
2420

2521
rules = (rule_1, rule_2, rule_3, rule_4)
2622

2723
grammar = Grammar(rule_1, rules, tokens)
2824

29-
generator = LR0Generator(grammar)
30-
31-
table = generator.generate()
25+
generator = SLRGenerator(grammar)
3226

33-
print(table.pretty_str())
27+
parsing_table = generator.generate()
3428

29+
print(parsing_table.pretty_str())

0 commit comments

Comments
 (0)