当前位置: 首页>>代码示例>>Python>>正文


Python lex.input方法代码示例

本文整理汇总了Python中ply.lex.input方法的典型用法代码示例。如果您正苦于以下问题:Python lex.input方法的具体用法?Python lex.input怎么用?Python lex.input使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ply.lex的用法示例。


在下文中一共展示了lex.input方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: trigraph

# 需要导入模块: from ply import lex [as 别名]
# 或者: from ply.lex import input [as 别名]
def trigraph(input):
    return _trigraph_pat.sub(lambda g: _trigraph_rep[g.group()[-1]],input)

# ------------------------------------------------------------------
# Macro object
#
# This object holds information about preprocessor macros
#
#    .name      - Macro name (string)
#    .value     - Macro value (a list of tokens)
#    .arglist   - List of argument names
#    .variadic  - Boolean indicating whether or not variadic macro
#    .vararg    - Name of the variadic parameter
#
# When a macro is created, the macro replacement token sequence is
# pre-scanned and used to create patch lists that are later used
# during macro expansion
# ------------------------------------------------------------------ 
开发者ID:nojanath,项目名称:SublimeKSP,代码行数:20,代码来源:cpp.py

示例2: tokenize

# 需要导入模块: from ply import lex [as 别名]
# 或者: from ply.lex import input [as 别名]
def tokenize(self,text):
        tokens = []
        self.lexer.input(text)
        while True:
            tok = self.lexer.token()
            if not tok: break
            tokens.append(tok)
        return tokens

    # ---------------------------------------------------------------------
    # error()
    #
    # Report a preprocessor error/warning of some kind
    # ---------------------------------------------------------------------- 
开发者ID:nojanath,项目名称:SublimeKSP,代码行数:16,代码来源:cpp.py

示例3: add_path

# 需要导入模块: from ply import lex [as 别名]
# 或者: from ply.lex import input [as 别名]
def add_path(self,path):
        self.path.append(path)

    # ----------------------------------------------------------------------
    # group_lines()
    #
    # Given an input string, this function splits it into lines.  Trailing whitespace
    # is removed.   Any line ending with \ is grouped with the next line.  This
    # function forms the lowest level of the preprocessor---grouping into text into
    # a line-by-line format.
    # ---------------------------------------------------------------------- 
开发者ID:nojanath,项目名称:SublimeKSP,代码行数:13,代码来源:cpp.py

示例4: group_lines

# 需要导入模块: from ply import lex [as 别名]
# 或者: from ply.lex import input [as 别名]
def group_lines(self,input):
        lex = self.lexer.clone()
        lines = [x.rstrip() for x in input.splitlines()]
        for i in xrange(len(lines)):
            j = i+1
            while lines[i].endswith('\\') and (j < len(lines)):
                lines[i] = lines[i][:-1]+lines[j]
                lines[j] = ""
                j += 1

        input = "\n".join(lines)
        lex.input(input)
        lex.lineno = 1

        current_line = []
        while True:
            tok = lex.token()
            if not tok:
                break
            current_line.append(tok)
            if tok.type in self.t_WS and '\n' in tok.value:
                yield current_line
                current_line = []

        if current_line:
            yield current_line

    # ----------------------------------------------------------------------
    # tokenstrip()
    # 
    # Remove leading/trailing whitespace tokens from a token list
    # ---------------------------------------------------------------------- 
开发者ID:nojanath,项目名称:SublimeKSP,代码行数:34,代码来源:cpp.py

示例5: undef

# 需要导入模块: from ply import lex [as 别名]
# 或者: from ply.lex import input [as 别名]
def undef(self,tokens):
        id = tokens[0].value
        try:
            del self.macros[id]
        except LookupError:
            pass

    # ----------------------------------------------------------------------
    # parse()
    #
    # Parse input text.
    # ---------------------------------------------------------------------- 
开发者ID:nojanath,项目名称:SublimeKSP,代码行数:14,代码来源:cpp.py

示例6: parse

# 需要导入模块: from ply import lex [as 别名]
# 或者: from ply.lex import input [as 别名]
def parse(self,input,source=None,ignore={}):
        self.ignore = ignore
        self.parser = self.parsegen(input,source)
        
    # ----------------------------------------------------------------------
    # token()
    #
    # Method to return individual tokens
    # ---------------------------------------------------------------------- 
开发者ID:nojanath,项目名称:SublimeKSP,代码行数:11,代码来源:cpp.py

示例7: group_lines

# 需要导入模块: from ply import lex [as 别名]
# 或者: from ply.lex import input [as 别名]
def group_lines(self,input):
        lex = self.lexer.clone()
        lines = [x.rstrip() for x in input.splitlines()]
        for i in xrange(len(lines)):
            j = i+1
            while lines[i].endswith('\\') and (j < len(lines)):
                lines[i] = lines[i][:-1]+lines[j]
                lines[j] = ""
                j += 1

        input = "\n".join(lines)
        lex.input(input)
        lex.lineno = 1

        current_line = []
        while True:
            tok = lex.token()
            if not tok:
                break
            current_line.append(tok)
            if tok.type in self.t_WS and '\n' in tok.value:
                yield current_line
                current_line = []

        if current_line:
            yield current_line

    # ----------------------------------------------------------------------
    # tokenstrip()
    #
    # Remove leading/trailing whitespace tokens from a token list
    # ---------------------------------------------------------------------- 
开发者ID:remg427,项目名称:misp42splunk,代码行数:34,代码来源:cpp.py

示例8: parse

# 需要导入模块: from ply import lex [as 别名]
# 或者: from ply.lex import input [as 别名]
def parse(self,input,source=None,ignore={}):
        self.ignore = ignore
        self.parser = self.parsegen(input,source)

    # ----------------------------------------------------------------------
    # token()
    #
    # Method to return individual tokens
    # ---------------------------------------------------------------------- 
开发者ID:remg427,项目名称:misp42splunk,代码行数:11,代码来源:cpp.py


注:本文中的ply.lex.input方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。