use of org.antlr.v4.runtime.Lexer in project inmemantlr by julianthome.
the class TestExternalGrammars method testCSharp.
@Test
public void testCSharp() {
// being -- csharp grammar is runtime dependent
if (System.getProperty("os.name").toLowerCase().startsWith("win"))
return;
if (!toCheck("csharp"))
return;
Subject s = subjects.get("csharp");
Set<File> mfiles = s.g4.stream().filter(v -> v.getName().matches("CSharp" + "(Lexer|PreprocessorParser|Parser).g4")).collect(Collectors.toSet());
Assertions.assertTrue(mfiles.size() > 0);
GenericParser mparser = null;
try {
mparser = new GenericParser(mfiles.toArray(new File[mfiles.size()]));
} catch (FileNotFoundException e) {
Assertions.assertTrue(false);
}
Assertions.assertNotNull(mparser);
DefaultTreeListener mdt = new DefaultTreeListener();
boolean compile;
try {
mparser.compile();
compile = true;
} catch (CompilationException e) {
compile = false;
}
mparser.setListener(mdt);
mparser.setParserName("CSharpParser");
Assertions.assertTrue(compile);
verify(mparser, s.examples, s.nexamples, s.entrypoint);
}
use of org.antlr.v4.runtime.Lexer in project inmemantlr by julianthome.
the class TestExternalGrammars method testTSql.
@Test
public void testTSql() {
if (!toCheck("tsql"))
return;
Subject s = subjects.get("tsql");
Set<File> mfiles = s.g4.stream().filter(v -> v.getName().matches("TSql" + "(Lexer|Parser).g4")).collect(Collectors.toSet());
Assertions.assertTrue(mfiles.size() > 0);
GenericParser mparser = null;
try {
mparser = new GenericParser(mfiles.toArray(new File[mfiles.size()]));
} catch (FileNotFoundException e) {
Assertions.assertTrue(false);
}
Assertions.assertNotNull(mparser);
DefaultTreeListener mdt = new DefaultTreeListener();
boolean compile;
try {
mparser.compile();
compile = true;
} catch (CompilationException e) {
compile = false;
}
mparser.setStreamProvider(new CasedStreamProvider(GenericParser.CaseSensitiveType.UPPER));
mparser.setListener(mdt);
Assertions.assertTrue(compile);
// seems to cause issues when running on windows
s.examples.removeIf(f -> f.getName().equals("full_width_chars.sql"));
verify(mparser, s.examples, s.nexamples, s.entrypoint);
}
use of org.antlr.v4.runtime.Lexer in project inmemantlr by julianthome.
the class TestExternalGrammars method testPlsql.
@Test
public void testPlsql() {
if (!toCheck("plsql"))
return;
Subject s = subjects.get("plsql");
Set<File> mfiles = s.g4.stream().filter(v -> v.getName().matches("PlSql" + "(Lexer|Parser).g4")).collect(Collectors.toSet());
Assertions.assertTrue(mfiles.size() > 0);
GenericParser mparser = null;
try {
mparser = new GenericParser(mfiles.toArray(new File[mfiles.size()]));
} catch (FileNotFoundException e) {
Assertions.assertTrue(false);
}
Assertions.assertNotNull(mparser);
DefaultTreeListener mdt = new DefaultTreeListener();
boolean compile;
try {
mparser.compile();
compile = true;
} catch (CompilationException e) {
compile = false;
}
mparser.setStreamProvider(new CasedStreamProvider(GenericParser.CaseSensitiveType.UPPER));
mparser.setListener(mdt);
Assertions.assertTrue(compile);
verify(mparser, s.examples, s.nexamples, s.entrypoint);
}
use of org.antlr.v4.runtime.Lexer in project inmemantlr by julianthome.
the class TestExternalGrammars method testMySQL.
@Test
public void testMySQL() {
if (!toCheck("mysql"))
return;
Subject s = subjects.get("mysql");
Set<File> mfiles = s.g4.stream().filter(v -> v.getName().matches("MySql" + "(Lexer|Parser).g4")).collect(Collectors.toSet());
Assertions.assertTrue(mfiles.size() > 0);
GenericParser mparser = null;
try {
mparser = new GenericParser(mfiles.toArray(new File[mfiles.size()]));
} catch (FileNotFoundException e) {
Assertions.assertTrue(false);
}
Assertions.assertNotNull(mparser);
DefaultTreeListener mdt = new DefaultTreeListener();
boolean compile;
try {
mparser.compile();
compile = true;
} catch (CompilationException e) {
compile = false;
}
mparser.setStreamProvider(new CasedStreamProvider(GenericParser.CaseSensitiveType.UPPER));
mparser.setListener(mdt);
Assertions.assertTrue(compile);
verify(mparser, s.examples, s.nexamples, s.entrypoint);
}
use of org.antlr.v4.runtime.Lexer in project bookish by parrt.
the class Translator method parseXMLAttrs.
public static Map<String, String> parseXMLAttrs(String attrs) {
XMLLexer lexer = new XMLLexer(CharStreams.fromString(attrs));
CommonTokenStream tokens = new CommonTokenStream(lexer);
XMLParser parser = new XMLParser(tokens);
XMLParser.AttrsContext attrsTree = parser.attrs();
Map<String, String> attrMap = attrsTree.attrMap;
return attrMap;
}
Aggregations