コード例 #1
0
ファイル: main.py プロジェクト: vgerak/milc
def main():
    if len(argv) > 1:
        f = open(argv[1], "r")
        for line in f:
            lexer.input(line)
            while 1:
                tok = lexer.token()
                if not tok: 
                    break
                #uncomment to print tokens
                #print tok
    else:
        print "Interactive mode"
        while 1:
            try:
                sometext = raw_input("> ")
                lexer.input(sometext)
                while 1:
                    tok = lexer.token()
                    if not tok:
                        break
                    #uncomment to print tokens
                    print tok
            except EOFError:
                print "EOF"
                break
コード例 #2
0
ファイル: jack.py プロジェクト: jay51/nand2tetris
def stage_one(source_code):
    lexer.input(source_code)
    tok = lexer.token()
    print("<Tokens>")
    while tok:
        # print("token: %s, value: %s" %(tok.type, tok.value))
        print("\t<%s> %s </%s>" % (tok.type, tok.value, tok.type))
        tok = lexer.token()
    print("</Tokens>")
コード例 #3
0
def tokenize(data):
    lexer.input(data)
    while True:
        tok = lexer.token()
        if not tok: 
            break      # No more input
        print(tok)
コード例 #4
0
ファイル: lexer_test.py プロジェクト: Vancior/promql-parser
 def test_string(self):
     lexer.input(r'"ssdf   \"lkjf""sldkjfl"')
     while True:
         token = lexer.token()
         if not token:
             break
         print(token)
コード例 #5
0
def parse_file(ppfile):
    '''this needs to open file and parse it'''
    base_dir = '/etc/puppet/manifests/'
    current_file = '%s%s' % (base_dir, ppfile)
    with open(current_file, 'r') as fsite:
        fdata = fsite.read()

    if LDEBUG:
        if DEBUG:
            lexer.input(DATA)
        else:
            lexer.input(fdata)

        while True:
            tok = lexer.token()
            if not tok: 
                break      # No more input
            print tok


    if DEBUG:
        parser.parse(DATA)
    else:
        parser.parse(fdata)
    
#    for parent in dict(t_nodes).keys():
    traverse_node_tree(nodes, dict(t_nodes))
コード例 #6
0
ファイル: lexer_test.py プロジェクト: Vancior/promql-parser
 def test_alri(self):
     lexer.input(r'123 + 23* 54')
     while True:
         token = lexer.token()
         if not token:
             break
         print(token)
コード例 #7
0
ファイル: lexer_test.py プロジェクト: Vancior/promql-parser
 def test_time(self):
     lexer.input("5m30s")
     while True:
         token = lexer.token()
         if not token:
             break
         print(token)
コード例 #8
0
ファイル: lexer_test.py プロジェクト: Vancior/promql-parser
 def test_number(self):
     lexer.input("-0.123")
     while True:
         token = lexer.token()
         if not token:
             break
         print(token)
     self.assertEqual(True, True)
コード例 #9
0
def testLexer(lexer, read_data):
    lexer.input(read_data)
    # Tokenize
    while True:
        tok = lexer.token()
        if not tok:
            break  # No more input
        print(tok)
コード例 #10
0
def get_types(data):
    lexer.input(data)
    tokens = []
    while True:
        token = lexer.token()
        if not token:
            break
        tokens.append(token.type)
    return tokens
コード例 #11
0
def run_lexer(input_file_path):
    # read input file
    code = None
    with open(input_file_path, 'r') as input_file:
        code = input_file.read()
    # Give the lexer some input
    lexer.input(code)
    # Tokenize
    while True:
        tok = lexer.token()
        if not tok:
            break  # No more input
        print(tok)
    return
コード例 #12
0
ファイル: GUI.py プロジェクト: JFNebel/Dart_Language_Analyzer
    def onMyToolbarButtonLexico(self, s, label):
        erroresL.clear()
        self.output.setPlainText("")

        #print("Se activa el lexer ")
        data = self.input.toPlainText()
        #print(data)

        lexer.input(data)
        while True:
            tok = lexer.token()
            if not tok:
                break  # No more input

        self.output.insertPlainText("Errores léxicos detectados: " +
                                    str(len(erroresL)) + "\n")
        for i in erroresL:
            self.output.insertPlainText(i + "\n")
コード例 #13
0
ファイル: parser.py プロジェクト: nylas/flanker
log.debug('building mailbox_or_url_list parser')
mailbox_or_url_list_parser = yacc.yacc(start='mailbox_or_url_list',
                                       errorlog=log,
                                       tabmodule='mailbox_or_url_list_parsetab')


# Interactive prompt for easy debugging
if __name__ == '__main__':
    while True:
        try:
            s = raw_input('\nflanker> ')
        except KeyboardInterrupt:
            break
        except EOFError:
            break
        if s == '': continue

        print '\nTokens list:\n'
        lexer.input(s)
        while True:
            tok = lexer.token()
            if not tok:
                break
            print tok

        print '\nParsing behavior:\n'
        result = mailbox_or_url_list_parser.parse(s, debug=log)

        print '\nResult:\n'
        print result
コード例 #14
0
ファイル: parser.py プロジェクト: nylas/flanker
log.debug('building mailbox_or_url_list parser')
mailbox_or_url_list_parser = yacc.yacc(
    start='mailbox_or_url_list',
    errorlog=log,
    tabmodule='mailbox_or_url_list_parsetab')

# Interactive prompt for easy debugging
if __name__ == '__main__':
    while True:
        try:
            s = raw_input('\nflanker> ')
        except KeyboardInterrupt:
            break
        except EOFError:
            break
        if s == '': continue

        print '\nTokens list:\n'
        lexer.input(s)
        while True:
            tok = lexer.token()
            if not tok:
                break
            print tok

        print '\nParsing behavior:\n'
        result = mailbox_or_url_list_parser.parse(s, debug=log)

        print '\nResult:\n'
        print result
コード例 #15
0
 def real_token(self):
     return lexer.token(self)
コード例 #16
0
 def real_token(self):
   return lexer.token(self)