def test_integerLiteral(self): g = JavaGrammar() self._parseStringTest( g.literal(), '123', Schema.IntLiteral(format='decimal', numType='int', value='123')) self._parseStringTest( g.literal(), '123l', Schema.IntLiteral(format='decimal', numType='long', value='123')) self._parseStringTest( g.literal(), '123L', Schema.IntLiteral(format='decimal', numType='long', value='123')) self._parseStringFailTest(g.literal(), '12a') self._parseStringTest( g.literal(), '0x123abc', Schema.IntLiteral(format='hex', numType='int', value='0x123abc')) self._parseStringTest( g.literal(), '0x123abcl', Schema.IntLiteral(format='hex', numType='long', value='0x123abc')) self._parseStringTest( g.literal(), '0x123ABCL', Schema.IntLiteral(format='hex', numType='long', value='0x123ABC')) self._parseStringFailTest(g.literal(), '0x12g') self._parseStringTest( g.literal(), '0123', Schema.IntLiteral(format='oct', numType='int', value='0123')) self._parseStringTest( g.literal(), '0123l', Schema.IntLiteral(format='oct', numType='long', value='0123')) self._parseStringTest( g.literal(), '0123L', Schema.IntLiteral(format='oct', numType='long', value='0123')) self._parseStringFailTest(g.literal(), '012a') self._parseStringFailTest(g.literal(), '0128')
def octIntLiteral(self): return Tokens.octalInteger.action( lambda input, begin, end, x, bindings: Schema.IntLiteral( format='oct', numType='int', value=x))
def decimalLongLiteral(self): return (Tokens.decimalIntegerNoOctal + Suppress(Literal('l') | Literal('L'))).action( lambda input, begin, end, x, bindings: Schema.IntLiteral( format='decimal', numType='long', value=x[0]))
def decimalIntLiteral(self): return Tokens.decimalIntegerNoOctal.action( lambda input, begin, end, x, bindings: Schema.IntLiteral( format='decimal', numType='int', value=x))