Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python3
- import parsec as psc
- digit = psc.regex("[0-9]")
- def number():
- @psc.Parser
- def number_parser(text, index):
- res = (digit + number())(text, index)
- return res if res.status else digit(text, index)
- return number_parser
- try:
- _ = number().parse("42423")
- print(_)
- except RecursionError as _:
- print("Recursion!")
- @psc.Parser
- def number(text, index):
- return ((digit + number) ^ digit)(text, index)
- try:
- print(number.parse("42423"))
- except RecursionError as _:
- print("Recursion!")
- @psc.generate
- def number():
- r = yield (digit + number) ^ digit
- return r
- try:
- print(number.parse("42423"))
- except RecursionError as _:
- print("Recursion!")
Advertisement
Add Comment
Please, Sign In to add comment