Allow spaces after ; for separated rolls
This commit is contained in:
parent
50fbbbfedd
commit
93761df5ed
@ -31,14 +31,15 @@ class Dice(Module):
|
||||
|
||||
"""Roll simple or complex dice strings."""
|
||||
|
||||
tokens = ['NUMBER', 'TEXT']
|
||||
literals = ['#', '/', '+', '-', 'd', ';']
|
||||
tokens = ['NUMBER', 'TEXT', 'ROLLSEP']
|
||||
literals = ['#', '/', '+', '-', 'd']
|
||||
|
||||
def build(self):
|
||||
lex.lex(module=self)
|
||||
yacc.yacc(module=self)
|
||||
|
||||
t_TEXT = r'\s+[^;]+'
|
||||
t_ROLLSEP = r';\s*'
|
||||
|
||||
def t_NUMBER(self, t):
|
||||
r'\d+'
|
||||
@ -49,7 +50,7 @@ class Dice(Module):
|
||||
t.lexer.skip(1)
|
||||
|
||||
precedence = (
|
||||
('left', ';'),
|
||||
('left', 'ROLLSEP'),
|
||||
('left', '+', '-'),
|
||||
('right', 'd'),
|
||||
('left', '#'),
|
||||
@ -141,7 +142,7 @@ class Dice(Module):
|
||||
# have a comment that describes the roll
|
||||
# Multiple roll strings can be chained with semicolon
|
||||
|
||||
'roll : roll ";" roll'
|
||||
'roll : roll ROLLSEP roll'
|
||||
global output
|
||||
p[0] = p[1] + "; " + p[3]
|
||||
output = p[0]
|
||||
|
Loading…
Reference in New Issue
Block a user