def test_backslash(self): grammar = r'main -> "\""' code = create_code_for_nearley_grammar(grammar, 'main', BUILTIN_PATH, './') d = {} exec (code, d) parse = d['parse'] parse(u'"')
def test_utf8(self): grammar = u'main -> "±a"' code = create_code_for_nearley_grammar(grammar, 'main', BUILTIN_PATH, './') d = {} exec (code, d) parse = d['parse'] parse(u'±a')
def test_null(self): grammar = r'main -> "a" | null' code = create_code_for_nearley_grammar(grammar, 'main', BUILTIN_PATH, './') d = {} exec (code, d) parse = d['parse'] parse('a') parse('')
def test_include(self): fn = os.path.join(NEARLEY_PATH, 'test/grammars/folder-test.ne') with open(fn) as f: grammar = f.read() code = create_code_for_nearley_grammar(grammar, 'main', BUILTIN_PATH, os.path.dirname(fn)) d = {} exec (code, d) parse = d['parse'] parse('a') parse('b')
def test_css(self): fn = os.path.join(NEARLEY_PATH, 'examples/csscolor.ne') with open(fn) as f: grammar = f.read() code = create_code_for_nearley_grammar(grammar, 'csscolor', BUILTIN_PATH, os.path.dirname(fn)) d = {} exec (code, d) parse = d['parse'] c = parse('#a199ff') assert c['r'] == 161 assert c['g'] == 153 assert c['b'] == 255 c = parse('rgb(255, 70%, 3)') assert c['r'] == 255 assert c['g'] == 178 assert c['b'] == 3