from modgrammar import *
from functools import *
from math import *
#grammar_whitespace_mode = 'optional'
NAMESPACE = {}
class NonZeroDigit(Grammar):
grammar = OR("1","2","3","4","5","6","7","8","9")
class Digit(Grammar):
grammar = NonZeroDigit | "0"
class Integer(Grammar):
grammar = (NonZeroDigit, ZERO_OR_MORE(Digit))
def grammar_elem_init(self, sd):
self.value = int(self.string)
class FloatingPoint(Grammar):
grammar = OR((Integer, '.', ZERO_OR_MORE(Digit)) , ('.', ONE_OR_MORE(Digit)))