view python/ppci/common.py @ 194:b01429a5d695

Fixed test
author Windel Bouwman
date Wed, 29 May 2013 22:36:37 +0200
parents 6b2bec5653f1
children e41e4109addd
line wrap: on
line source

from collections import namedtuple

# Token is used in the lexical analyzer:
class Token:
    def __init__(self, typ, val, loc=None):
        self.typ = typ
        self.val = val
        if loc is None:
            loc = SourceLocation(0, 0, 0)
        assert type(loc) is SourceLocation
        self.loc = loc
    def __repr__(self):
        return 'Token({0}, {1})'.format(self.typ, self.val)

class SourceLocation:
   def __init__(self, row, col, ln):
      self.row = row
      self.col = col
      self.length = ln

SourceRange = namedtuple('SourceRange', ['p1', 'p2'])