示例#1
0
 def get_tokens_and_line(self, source_code):
     return [x for x in generate_tokens(source_code)]
示例#2
0
 def test_with_two_returns(self):
     result = [t for t in generate_tokens("\n\n")]
     self.assertEqual(1, len(result))
示例#3
0
 def get_tokens_and_line(self, source_code):
     return [x for x in generate_tokens(source_code)]
示例#4
0
 def test_ifdef(self):
     tokens = generate_tokens('''#ifdef abc\n''')
     self.assertEqual(['#ifdef abc', '\n'], tokens)
示例#5
0
 def test_define2(self):
     tokens = generate_tokens(r''' # define yyMakeArray(ptr, count, size)     { MakeArray (ptr, count, size); \
                    yyCheckMemory (* ptr); }
                    t
                 ''')
     self.assertTrue('t' in tokens)
示例#6
0
 def test_line_number(self):
     tokens = generate_tokens(r'abc')
     self.assertEqual('abc', tokens[0])
示例#7
0
 def test_with_mutiple_line_string(self):
     tokens = generate_tokens('"sss\nsss" t')
     self.assertTrue('t' in tokens)
示例#8
0
 def test_commentedComment(self):
     tokens = generate_tokens(" /*/*/")
     self.assertEqual(["/*/*/"], tokens)
示例#9
0
 def test_with_c_comments(self):
     tokens = generate_tokens('/*abc\n*/ t')
     self.assertTrue('t' in tokens)
示例#10
0
 def test_cpp_style_comment(self):
     tokens = generate_tokens("//aaa\n")
     self.assertEqual(['//aaa', '\n'], tokens)
示例#11
0
 def test_cpp_style_comment_with_multiple_lines(self):
     tokens = generate_tokens("//a\\\nb")
     self.assertEqual(['//a\\\nb'], tokens)
示例#12
0
 def test_c_style_comment(self):
     tokens = generate_tokens("/***\n**/")
     self.assertEqual(["/***\n**/"], tokens)
示例#13
0
 def test_with_one_return(self):
     result = [t for t in generate_tokens("\n")]
     self.assertEqual(1, len(result))
示例#14
0
 def test_empty_string(self):
     result = [t for t in generate_tokens("")]
     self.assertEqual(0, len(result))
示例#15
0
 def test_or(self):
     tokens = generate_tokens("||")
     self.assertEqual(['||'], tokens)
示例#16
0
 def test_space(self):
     result = [t for t in generate_tokens(" \n")]
     self.assertEqual(1, len(result))
示例#17
0
 def test_string(self):
     tokens = generate_tokens(r'""')
     self.assertEqual(['""'], tokens)
     tokens = generate_tokens(r'"x\"xx")')
     self.assertEqual(['"x\\"xx"', ')'], tokens)
示例#18
0
 def test_empty(self):
     tokens = generate_tokens("")
     self.assertEqual(0, len(tokens))
示例#19
0
 def test_line_number2(self):
     tokens = generate_tokens('abc\ndef')
     self.assertTrue('def' in tokens)
示例#20
0
 def test_one_digit(self):
     tokens = generate_tokens("1")
     self.assertEqual(['1'], tokens)
示例#21
0
 def test_define(self):
     define =  '''#define xx()\
                    abc'''
     tokens = generate_tokens(define+'''
                 int''')
     self.assertEqual([define, '\n', 'int'], tokens)
示例#22
0
 def test_operators(self):
     tokens = generate_tokens("-;")
     self.assertEqual(['-', ';'], tokens)
示例#23
0
 def test_with_line_continuer_define(self):
     tokens = generate_tokens('#define a \\\nb\n t')
     self.assertTrue('t' in tokens)
示例#24
0
 def test_operators1(self):
     tokens = generate_tokens("-=")
     self.assertEqual(['-='], tokens)
示例#25
0
 def create_objc_lizard(self, source_code):
     return ObjCReader().generate_universal_code(generate_tokens(source_code)).function_list
示例#26
0
 def test_operators2(self):
     tokens = generate_tokens(">=")
     self.assertEqual(['>='], tokens)
示例#27
0
 def get_tokens(self, source_code):
     return [x for x, l in generate_tokens(source_code)]
示例#28
0
 def test_more(self):
     tokens = generate_tokens("int a{}")
     self.assertEqual(['int', "a", "{", "}"], tokens)
示例#29
0
 def test_empty_string(self):
     result = [t for t in generate_tokens("")]
     self.assertEqual(0, len(result))
示例#30
0
 def get_tokens(self, source_code):
     return [x for x, l in generate_tokens(source_code)]