Exemplo n.º 1
0
# --------------------
_builtinloc = Loc('<builtin>', 0)


def makeBuiltinUsing(tname):
    quals = tname.split('::')
    base = quals.pop()
    quals = quals[0:]
    return UsingStmt(
        _builtinloc,
        TypeSpec(_builtinloc, QualifiedId(_builtinloc, base, quals)))


builtinUsing = [makeBuiltinUsing(t) for t in builtin.Types]
builtinHeaderIncludes = [
    CxxInclude(_builtinloc, f) for f in builtin.HeaderIncludes
]


def errormsg(loc, fmt, *args):
    while not isinstance(loc, Loc):
        if loc is None:
            loc = Loc.NONE
        else:
            loc = loc.loc
    return '%s: error: %s' % (str(loc), fmt % args)


# --------------------

Exemplo n.º 2
0
##--------------------
_builtinloc = Loc('<builtin>', 0)


def makeBuiltinUsing(tname):
    quals = tname.split('::')
    base = quals.pop()
    quals = quals[0:]
    return UsingStmt(
        _builtinloc,
        TypeSpec(_builtinloc, QualifiedId(_builtinloc, base, quals)))


builtinUsing = [makeBuiltinUsing(t) for t in builtin.Types]
builtinIncludes = [CxxInclude(_builtinloc, f) for f in builtin.Includes]


def errormsg(loc, fmt, *args):
    while not isinstance(loc, Loc):
        if loc is None: loc = Loc.NONE
        else: loc = loc.loc
    return '%s: error: %s' % (str(loc), fmt % args)


##--------------------
class SymbolTable:
    def __init__(self, errors):
        self.errors = errors
        self.scopes = [{}]  # stack({})
        self.globalScope = self.scopes[0]