コード例 #1
0
def symtable(code, filename, compile_type):
    raw = _symtable.symtable(code, filename, compile_type)
    for top in raw.itervalues():
        if top.name == 'top':
            break

    return _newSymbolTable(top, filename)
コード例 #2
0
def symtable(code, filename, compile_type):
    """ Return the toplevel *SymbolTable* for the source code.

    *filename* is the name of the file with the code
    and *compile_type* is the *compile()* mode argument.
    """
    top = _symtable.symtable(code, filename, compile_type)
    return _newSymbolTable(top, filename)
コード例 #3
0
def test_pickle_stentry():

    st1 = _symtable.symtable('def f(x): return x', 'test', 'exec')
    assert repr(st1)[1:].startswith('symtable entry')
    s = pf.pickle_object(st1)
    st2 = pf.unpickle_object(s)

    assert type(st1) == type(st2)
    assert st1.lineno == st2.lineno
    assert st1.id == st2.id
    assert st1.varnames == st2.varnames
    assert st1.name == st2.name

    print "Symbol Table Entry pickling OK!"
コード例 #4
0
ファイル: symtable.py プロジェクト: webiumsk/WOT-0.9.12
def symtable(code, filename, compile_type):
    top = _symtable.symtable(code, filename, compile_type)
    return _newSymbolTable(top, filename)
コード例 #5
0
def symtable(code, filename, compile_type):
    top = _symtable.symtable(code, filename, compile_type)
    return _newSymbolTable(top, filename)
コード例 #6
0
def symtable(code, filename, compile_type):
    raw = _symtable.symtable(code, filename, compile_type)
    for top in raw.itervalues():
        if top.name == 'top':
            break
    return _newSymbolTable(top, filename)
コード例 #7
0
ファイル: test_symtable.py プロジェクト: facchinm/SiRFLive
def checkfilename(brokencode):
    try:
        _symtable.symtable(brokencode, "spam", "exec")
    except SyntaxError, e:
        vereq(e.filename, "spam")
コード例 #8
0
ファイル: test_symtable.py プロジェクト: facchinm/SiRFLive
from test.test_support import vereq, TestFailed

import _symtable

symbols = _symtable.symtable("def f(x): return x", "?", "exec")

vereq(symbols[0].name, "global")
vereq(len([ste for ste in symbols.values() if ste.name == "f"]), 1)

# Bug tickler: SyntaxError file name correct whether error raised
# while parsing or building symbol table.
def checkfilename(brokencode):
    try:
        _symtable.symtable(brokencode, "spam", "exec")
    except SyntaxError, e:
        vereq(e.filename, "spam")
    else:
        raise TestFailed("no SyntaxError for %r" % (brokencode,))


checkfilename("def f(x): foo)(")  # parse-time
checkfilename("def f(x): global x")  # symtable-build-time
コード例 #9
0
ファイル: symtable.py プロジェクト: moreati/stubtool
from __future__ import absolute_import

import _symtable

from ._util import PY2, PY33


if PY2 or PY33:
    symtable_entry = type(_symtable.symtable('', '<string>', 'exec'))
else:
    symtable_entry = type(next(iter(_symtable.symtable('', '<string>', 'exec').values())))
コード例 #10
0
from test_support import verify

import _symtable

symbols = _symtable.symtable("def f(x): return x", "?", "exec")

verify(symbols[0].name == "global")
verify(len([ste for ste in symbols.values() if ste.name == "f"]) == 1)
コード例 #11
0
def symtable(code, filename, compile_type):
    raw = _symtable.symtable(code, filename, compile_type)
    return newSymbolTable(raw[0], filename)
コード例 #12
0
def checkfilename(brokencode):
    try:
        _symtable.symtable(brokencode, "spam", "exec")
    except SyntaxError, e:
        vereq(e.filename, "spam")
コード例 #13
0
ファイル: symtable.py プロジェクト: mcyril/ravel-ftn
"""Interface to the compiler's internal symbol tables"""
コード例 #14
0
from test_support import verify
import _symtable
symbols = _symtable.symtable("def f(x): return x", "?", "exec")
verify(symbols[0].name == "global")
verify(len([ste for ste in symbols.values() if ste.name == "f"]) == 1)