INT regex [0-9]+ OP list || && -- ++ = == ! / * - + << >> % ^ /= *= -= += <<= >>= &= |= %= ^= -> . < > <= >= != ? : ( ) { } [ ] , ; EXPR nonterm .start EXPR OP EXPR INT ( EXPR ) EXPR ? EXPR : EXPR