def parseBitShiftConstant(s, pos, tokens):
  try:
    c1, c2 = tokens[0]
    return int(c1) << int(c2)
  except __HOLE__:
    c1, c2, c3 = tokens[0]
    return (int(c1) << int(c2)) - c3

#
# Rudimentary C source grammar
#
# Limitations:
#
#  - Macros are not processed.
#  - The function body parser eats newlines and whitespace.
#  - Only very basic function pointers are supported.
#  - Structure typedefs are not supported.
#

# Make line feeds white space. Note that this breaks any syntax based on LineStart(), etc.
dataset/ETHPy150Open skyostil/tracy/src/generator/Parser.py/parseBitShiftConstant