亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? yapps2.py

?? 一個java寫的proxy的例子
?? PY
?? 第 1 頁 / 共 2 頁
字號:
            for x in testset:                if x in tokens_seen:                    testset.remove(x)                    removed.append(x)                if x in tokens_unseen: tokens_unseen.remove(x)            tokens_seen = tokens_seen + testset            if removed:                if not testset:                    print 'Error in rule', self.rule+':', c, 'never matches.'                else:                    print 'Warning:', self                print ' * These tokens are being ignored:', join(removed, ', ')                print '   due to previous choices using them.'                            if testset:                if not tokens_unseen: # context sensitive scanners only!                    if test=='if':                        # if it's the first AND last test, then                        # we can simply put the code without an if/else                        c.output(gen, indent)                    else:                        gen.write(indent, "else: ")                        t = gen.in_test('', [], testset)                        if len(t) < 70-len(indent):                            gen.write("#", t)                            gen.write("\n")                        c.output(gen, indent+INDENT)                else:                    gen.write(indent, test, " ",                              gen.in_test('_token_', tokens_unseen, testset),                              ":\n")                    c.output(gen, indent+INDENT)                test = "elif"        if gen['context-insensitive-scanner'] and tokens_unseen:            gen.write(indent, "else:\n")            gen.write(indent, INDENT, "raise SyntaxError(self._pos, ")            gen.write("'Could not match ", self.rule, "')\n")class Wrapper(Node):    def __init__(self, child):        Node.__init__(self)        self.child = child    def setup(self, gen, rule):        Node.setup(self, gen, rule)        self.child.setup(gen, rule)    def get_children(self):        return [self.child]        def update(self, gen):        Node.update(self, gen)        self.child.update(gen)        gen.add_to(self.first, self.child.first)        gen.equate(self.follow, self.child.follow)class Option(Wrapper):    def setup(self, gen, rule):        Wrapper.setup(self, gen, rule)        if not self.accepts_epsilon:            self.accepts_epsilon = 1            gen.changed()    def __str__(self):        return '[ %s ]' % str(self.child)    def output(self, gen, indent):        if self.child.accepts_epsilon:            print 'Warning in rule', self.rule+': contents may be empty.'        gen.write(indent, "if %s:\n" %                  gen.peek_test(self.first, self.child.first))        self.child.output(gen, indent+INDENT)        class Plus(Wrapper):    def setup(self, gen, rule):        Wrapper.setup(self, gen, rule)        if self.accepts_epsilon != self.child.accepts_epsilon:            self.accepts_epsilon = self.child.accepts_epsilon            gen.changed()    def __str__(self):        return '%s+' % str(self.child)    def update(self, gen):        Wrapper.update(self, gen)        gen.add_to(self.follow, self.first)    def output(self, gen, indent):        if self.child.accepts_epsilon:            print 'Warning in rule', self.rule+':'            print ' * The repeated pattern could be empty.  The resulting'            print '   parser may not work properly.'        gen.write(indent, "while 1:\n")        self.child.output(gen, indent+INDENT)        union = self.first[:]        gen.add_to(union, self.follow)        gen.write(indent+INDENT, "if %s: break\n" %                  gen.not_peek_test(union, self.child.first))class Star(Plus):    def setup(self, gen, rule):        Wrapper.setup(self, gen, rule)        if not self.accepts_epsilon:            self.accepts_epsilon = 1            gen.changed()    def __str__(self):        return '%s*' % str(self.child)    def output(self, gen, indent):        if self.child.accepts_epsilon:            print 'Warning in rule', self.rule+':'            print ' * The repeated pattern could be empty.  The resulting'            print '   parser probably will not work properly.'        gen.write(indent, "while %s:\n" %                  gen.peek_test(self.follow, self.child.first))        self.child.output(gen, indent+INDENT)####################################################################### The remainder of this file is from parsedesc.{g,py}def append(lst, x):    "Imperative append"    lst.append(x)    return lstdef add_inline_token(tokens, str):    tokens.insert( 0, (str, eval(str, {}, {})) )    return Terminal(str)def cleanup_choice(lst):    if len(lst) == 0: return Sequence([])    if len(lst) == 1: return lst[0]    return apply(Choice, tuple(lst))def cleanup_sequence(lst):    if len(lst) == 1: return lst[0]    return apply(Sequence, tuple(lst))def cleanup_rep(node, rep):    if rep == 'star':   return Star(node)    elif rep == 'plus': return Plus(node)    else:               return nodedef resolve_name(tokens, id, args):    if id in map(lambda x: x[0], tokens):	# It's a token	if args: 	    print 'Warning: ignoring parameters on TOKEN %s<<%s>>' % (id, args)        return Terminal(id)    else:        # It's a name, so assume it's a nonterminal        return NonTerminal(id, args)from string import *import refrom yappsrt import *class ParserDescriptionScanner(Scanner):    def __init__(self, str):        Scanner.__init__(self,[            ('"rule"', 'rule'),            ('"ignore"', 'ignore'),            ('"token"', 'token'),            ('"option"', 'option'),            ('":"', ':'),            ('"parser"', 'parser'),            ('[ \011\015\012]+', '[ \011\015\012]+'),            ('#.*?\015?\012', '#.*?\015?\012'),            ('END', '$'),            ('ATTR', '<<.+?>>'),            ('STMT', '{{.+?}}'),            ('ID', '[a-zA-Z_][a-zA-Z_0-9]*'),            ('STR', '[rR]?\'([^\\n\'\\\\]|\\\\.)*\'|[rR]?"([^\\n"\\\\]|\\\\.)*"'),            ('LP', '\\('),            ('RP', '\\)'),            ('LB', '\\['),            ('RB', '\\]'),            ('OR', '[|]'),            ('STAR', '[*]'),            ('PLUS', '[+]'),            ], ['[ \011\015\012]+', '#.*?\015?\012'], str)class ParserDescription(Parser):    def Parser(self):        self._scan('"parser"')        ID = self._scan('ID')        self._scan('":"')        Options = self.Options()        Tokens = self.Tokens()        Rules = self.Rules(Tokens)        END = self._scan('END')        return Generator(ID,Options,Tokens,Rules)    def Options(self):        opt = {}        while self._peek('"option"', '"token"', '"ignore"', 'END', '"rule"') == '"option"':            self._scan('"option"')            self._scan('":"')            Str = self.Str()            opt[Str] = 1        return opt    def Tokens(self):        tok = []        while self._peek('"token"', '"ignore"', 'END', '"rule"') in ['"token"', '"ignore"']:            _token_ = self._peek('"token"', '"ignore"')            if _token_ == '"token"':                self._scan('"token"')                ID = self._scan('ID')                self._scan('":"')                Str = self.Str()                tok.append( (ID,Str) )            else: # == '"ignore"'                self._scan('"ignore"')                self._scan('":"')                Str = self.Str()                tok.append( ('#ignore',Str) )        return tok    def Rules(self, tokens):        rul = []        while self._peek('"rule"', 'END') == '"rule"':            self._scan('"rule"')            ID = self._scan('ID')            OptParam = self.OptParam()            self._scan('":"')            ClauseA = self.ClauseA(tokens)            rul.append( (ID,OptParam,ClauseA) )        return rul    def ClauseA(self, tokens):        ClauseB = self.ClauseB(tokens)        v = [ClauseB]        while self._peek('OR', 'RP', 'RB', '"rule"', 'END') == 'OR':            OR = self._scan('OR')            ClauseB = self.ClauseB(tokens)            v.append(ClauseB)        return cleanup_choice(v)    def ClauseB(self, tokens):        v = []        while self._peek('STR', 'ID', 'LP', 'LB', 'STMT', 'OR', 'RP', 'RB', '"rule"', 'END') in ['STR', 'ID', 'LP', 'LB', 'STMT']:            ClauseC = self.ClauseC(tokens)            v.append(ClauseC)        return cleanup_sequence(v)    def ClauseC(self, tokens):        ClauseD = self.ClauseD(tokens)        _token_ = self._peek('PLUS', 'STAR', 'STR', 'ID', 'LP', 'LB', 'STMT', 'OR', 'RP', 'RB', '"rule"', 'END')        if _token_ == 'PLUS':            PLUS = self._scan('PLUS')            return Plus(ClauseD)        elif _token_ == 'STAR':            STAR = self._scan('STAR')            return Star(ClauseD)        else:             return ClauseD    def ClauseD(self, tokens):        _token_ = self._peek('STR', 'ID', 'LP', 'LB', 'STMT')        if _token_ == 'STR':            STR = self._scan('STR')            t = (STR, eval(STR,{},{}))            if t not in tokens: tokens.insert( 0, t )            return Terminal(STR)        elif _token_ == 'ID':            ID = self._scan('ID')            OptParam = self.OptParam()            return resolve_name(tokens, ID, OptParam)        elif _token_ == 'LP':            LP = self._scan('LP')            ClauseA = self.ClauseA(tokens)            RP = self._scan('RP')            return ClauseA        elif _token_ == 'LB':            LB = self._scan('LB')            ClauseA = self.ClauseA(tokens)            RB = self._scan('RB')            return Option(ClauseA)        else: # == 'STMT'            STMT = self._scan('STMT')            return Eval(STMT[2:-2])    def OptParam(self):        if self._peek('ATTR', '":"', 'PLUS', 'STAR', 'STR', 'ID', 'LP', 'LB', 'STMT', 'OR', 'RP', 'RB', '"rule"', 'END') == 'ATTR':            ATTR = self._scan('ATTR')            return ATTR[2:-2]        return ''    def Str(self):        STR = self._scan('STR')        return eval(STR,{},{})# This replaces the default main routineyapps_options = [    ('context-insensitive-scanner', 'context-insensitive-scanner',     'Scan all tokens (see docs)')    ]def generate(inputfilename, outputfilename='', dump=0, **flags):    """Generate a grammar, given an input filename (X.g)    and an output filename (defaulting to X.py)."""    if not outputfilename:	if inputfilename[-2:]=='.g': outputfilename = inputfilename[:-2]+'.py'	else: raise "Invalid Filename", outputfilename            print 'Input Grammar:', inputfilename    print 'Output File:', outputfilename        DIVIDER = '\n%%\n' # This pattern separates the pre/post parsers    preparser, postparser = None, None # Code before and after the parser desc    # Read the entire file    s = open(inputfilename,'r').read()    # See if there's a separation between the pre-parser and parser    f = find(s, DIVIDER)    if f >= 0: preparser, s = s[:f]+'\n\n', s[f+len(DIVIDER):]    # See if there's a separation between the parser and post-parser    f = find(s, DIVIDER)    if f >= 0: s, postparser = s[:f], '\n\n'+s[f+len(DIVIDER):]    # Create the parser and scanner    p = ParserDescription(ParserDescriptionScanner(s))    if not p: return        # Now parse the file    t = wrap_error_reporter(p, 'Parser')    if not t: return # Error    if preparser is not None: t.preparser = preparser    if postparser is not None: t.postparser = postparser    # Check the options    for f in t.options.keys():        for opt,_,_ in yapps_options:            if f == opt: break        else:            print 'Warning: unrecognized option', f    # Add command line options to the set    for f in flags.keys(): t.options[f] = flags[f]                # Generate the output    if dump:        t.dump_information()    else:        t.output = open(outputfilename, 'w')        t.generate_output()if __name__=='__main__':    import sys, getopt    optlist, args = getopt.getopt(sys.argv[1:], 'f:', ['dump'])    if not args or len(args) > 2:        print 'Usage:'        print '  python', sys.argv[0], '[flags] input.g [output.py]'        print 'Flags:'        print ('  --dump' + ' '*40)[:35] + 'Dump out grammar information'        for flag, _, doc in yapps_options:            print ('  -f' + flag + ' '*40)[:35] + doc    else:        # Read in the options and create a list of flags	flags = {}	for opt in optlist:	    for flag, name, _ in yapps_options:		if opt == ('-f', flag):		    flags[name] = 1		    break	    else:                if opt == ('--dump', ''):                    flags['dump'] = 1		else:                    print 'Warning - unrecognized option:  ', opt[0], opt[1]        apply(generate, tuple(args), flags)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产乱子轮精品视频| 欧美午夜精品免费| 欧美午夜宅男影院| 欧美国产综合一区二区| 天堂午夜影视日韩欧美一区二区| 久88久久88久久久| 欧美亚洲高清一区| 国产精品久久久久久久久免费相片| 亚洲国产va精品久久久不卡综合| 不卡的电视剧免费网站有什么| 日韩一二三四区| 日韩精品色哟哟| 在线亚洲高清视频| 亚洲欧美偷拍另类a∨色屁股| 极品尤物av久久免费看| 欧美猛男超大videosgay| 亚洲婷婷国产精品电影人久久| 激情五月激情综合网| 欧美大片在线观看| 日本伊人色综合网| 欧美日韩在线观看一区二区| 亚洲靠逼com| 成人av免费在线| 久久久精品国产免费观看同学| 美女国产一区二区三区| 欧美日韩国产美| 性感美女极品91精品| 91丨九色porny丨蝌蚪| 亚洲欧洲成人自拍| 99久久精品免费精品国产| 欧美激情一区二区| 成人国产精品视频| 日韩一区在线免费观看| 91啪亚洲精品| 亚洲欧美激情插| 色欧美日韩亚洲| 亚洲第一电影网| 这里只有精品视频在线观看| 日本一区中文字幕| 精品欧美一区二区在线观看| 九色综合国产一区二区三区| 欧美成人猛片aaaaaaa| 老司机精品视频线观看86| 欧美电视剧在线观看完整版| 国产精品77777| 中文字幕不卡在线观看| 91小视频在线免费看| 亚洲精品国产精华液| 欧美久久一区二区| 色综合久久88色综合天天6| 亚洲精品亚洲人成人网在线播放| 色综合久久久网| 免费成人深夜小野草| 国产婷婷色一区二区三区在线| 成人h动漫精品一区二区| 一区二区三区在线免费视频 | 国产精品久久久久久久久免费樱桃| 国产麻豆午夜三级精品| 国产精品国产三级国产aⅴ入口| 粉嫩高潮美女一区二区三区| 亚洲欧美日本在线| 日韩一区二区精品在线观看| 国产69精品一区二区亚洲孕妇| 亚洲欧美一区二区久久| 日韩一级二级三级精品视频| 99精品欧美一区二区蜜桃免费| 五月天激情综合| 日本一区二区三区电影| 欧美丝袜丝交足nylons图片| 国模大尺度一区二区三区| 亚洲欧美一区二区三区国产精品 | 国产精品女同互慰在线看| 欧美性高清videossexo| 国产高清亚洲一区| 丝袜美腿成人在线| 国产精品国产三级国产普通话99| 久久精品国产一区二区| 日韩av一区二区三区| 国产欧美中文在线| 欧美日韩大陆一区二区| 丁香啪啪综合成人亚洲小说| 日韩电影在线观看网站| 成人欧美一区二区三区| 精品国产sm最大网站免费看| 9i看片成人免费高清| 国产呦萝稀缺另类资源| 日韩激情视频在线观看| 亚洲女同女同女同女同女同69| 精品国产乱码久久久久久闺蜜| 欧美综合一区二区| 91丨porny丨国产入口| 国产精品亚洲一区二区三区妖精| 午夜精品福利一区二区三区av| 久久国产乱子精品免费女| 亚洲视频一区在线观看| 久久色视频免费观看| 欧美一区二区三区视频免费| 91传媒视频在线播放| 91视频免费播放| 成人精品视频一区二区三区 | 欧美一级国产精品| 欧美偷拍一区二区| 精品污污网站免费看| 国产宾馆实践打屁股91| 亚洲精品成人精品456| 国产日韩欧美电影| 久久综合色天天久久综合图片| 911国产精品| 欧美日本一道本| 欧美亚州韩日在线看免费版国语版| 99re视频精品| 色综合天天综合给合国产| 成av人片一区二区| 成人精品视频网站| 成人av免费网站| 97久久久精品综合88久久| 成人的网站免费观看| av成人动漫在线观看| 成人av电影免费观看| 91亚洲国产成人精品一区二三| 99天天综合性| 青青青爽久久午夜综合久久午夜| 国产精品色一区二区三区| 中文一区一区三区高中清不卡| 国产日韩一级二级三级| 久久电影国产免费久久电影 | 自拍偷拍国产亚洲| 亚洲精品乱码久久久久久久久 | 欧美一区二区三区免费视频| 4hu四虎永久在线影院成人| 欧美一区二区三区影视| 久久综合狠狠综合| 亚洲国产高清不卡| 亚洲色图欧美激情| 五月婷婷综合在线| 久久99国产精品麻豆| 国产成人自拍在线| 91久久国产最好的精华液| 7777精品伊人久久久大香线蕉完整版 | 欧美成人精品1314www| 久久久久久久久久久久久久久99| 欧美国产激情二区三区| 亚洲一区二区三区不卡国产欧美 | 亚洲黄色录像片| 亚洲国产成人porn| 国产麻豆欧美日韩一区| 色域天天综合网| 日韩女优av电影| 中文字幕亚洲区| 免费成人性网站| 一本大道av一区二区在线播放| 欧美一区二区三区免费大片| 国产精品三级av| 日韩成人伦理电影在线观看| 大胆欧美人体老妇| 欧美一区二区三区视频免费| 亚洲欧洲另类国产综合| 蜜桃在线一区二区三区| 91一区二区在线| 久久日韩精品一区二区五区| 樱花草国产18久久久久| 国产一区二区调教| 欧美色手机在线观看| 日韩欧美在线1卡| 国产一区二区三区在线观看精品| 理论片日本一区| 成人黄色电影在线| 日韩欧美国产精品| 伊人性伊人情综合网| 国产精品综合网| 日韩视频免费直播| 亚洲超碰精品一区二区| 波波电影院一区二区三区| 精品日韩一区二区三区| 偷拍亚洲欧洲综合| 91麻豆国产福利在线观看| 国产亚洲精品中文字幕| 六月丁香婷婷久久| 777久久久精品| 亚洲成av人片在www色猫咪| 国产精品久久影院| 麻豆成人91精品二区三区| 欧美视频一区二区三区在线观看| 欧美国产精品中文字幕| 国产精品综合久久| 久久久久久久久久久黄色| 激情久久五月天| 欧美xfplay| 成人99免费视频| 中文成人综合网| 国产成人精品aa毛片| 久久久久久日产精品| 精品一区二区在线视频| 精品久久一区二区三区| 蜜桃一区二区三区在线观看| 日韩一区二区三区视频在线| 日韩**一区毛片| 精品91自产拍在线观看一区| 久久激情五月激情| 日韩免费观看2025年上映的电影 |