Search in sources :

Example 56 with Lexer

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);
}
Also used : java.util(java.util) FileUtils(org.snt.inmemantlr.utils.FileUtils) LoggerFactory(org.slf4j.LoggerFactory) ParsingException(org.snt.inmemantlr.exceptions.ParsingException) IllegalWorkflowException(org.snt.inmemantlr.exceptions.IllegalWorkflowException) CompilationException(org.snt.inmemantlr.exceptions.CompilationException) Document(org.w3c.dom.Document) ToolCustomizer(org.snt.inmemantlr.tool.ToolCustomizer) ParseTree(org.snt.inmemantlr.tree.ParseTree) CasedStreamProvider(org.snt.inmemantlr.stream.CasedStreamProvider) GenericParser(org.snt.inmemantlr.GenericParser) Logger(org.slf4j.Logger) NodeList(org.w3c.dom.NodeList) IOException(java.io.IOException) Collectors(java.util.stream.Collectors) File(java.io.File) FileNotFoundException(java.io.FileNotFoundException) Test(org.junit.jupiter.api.Test) RecognitionException(org.antlr.v4.runtime.RecognitionException) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) SAXException(org.xml.sax.SAXException) Assertions(org.junit.jupiter.api.Assertions) DocumentBuilderFactory(javax.xml.parsers.DocumentBuilderFactory) ParserRuleContext(org.antlr.v4.runtime.ParserRuleContext) DefaultTreeListener(org.snt.inmemantlr.listener.DefaultTreeListener) FilenameUtils(org.apache.commons.io.FilenameUtils) CompilationException(org.snt.inmemantlr.exceptions.CompilationException) FileNotFoundException(java.io.FileNotFoundException) File(java.io.File) DefaultTreeListener(org.snt.inmemantlr.listener.DefaultTreeListener) GenericParser(org.snt.inmemantlr.GenericParser) Test(org.junit.jupiter.api.Test)

Example 57 with Lexer

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);
}
Also used : java.util(java.util) FileUtils(org.snt.inmemantlr.utils.FileUtils) LoggerFactory(org.slf4j.LoggerFactory) ParsingException(org.snt.inmemantlr.exceptions.ParsingException) IllegalWorkflowException(org.snt.inmemantlr.exceptions.IllegalWorkflowException) CompilationException(org.snt.inmemantlr.exceptions.CompilationException) Document(org.w3c.dom.Document) ToolCustomizer(org.snt.inmemantlr.tool.ToolCustomizer) ParseTree(org.snt.inmemantlr.tree.ParseTree) CasedStreamProvider(org.snt.inmemantlr.stream.CasedStreamProvider) GenericParser(org.snt.inmemantlr.GenericParser) Logger(org.slf4j.Logger) NodeList(org.w3c.dom.NodeList) IOException(java.io.IOException) Collectors(java.util.stream.Collectors) File(java.io.File) FileNotFoundException(java.io.FileNotFoundException) Test(org.junit.jupiter.api.Test) RecognitionException(org.antlr.v4.runtime.RecognitionException) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) SAXException(org.xml.sax.SAXException) Assertions(org.junit.jupiter.api.Assertions) DocumentBuilderFactory(javax.xml.parsers.DocumentBuilderFactory) ParserRuleContext(org.antlr.v4.runtime.ParserRuleContext) DefaultTreeListener(org.snt.inmemantlr.listener.DefaultTreeListener) FilenameUtils(org.apache.commons.io.FilenameUtils) CompilationException(org.snt.inmemantlr.exceptions.CompilationException) CasedStreamProvider(org.snt.inmemantlr.stream.CasedStreamProvider) FileNotFoundException(java.io.FileNotFoundException) File(java.io.File) DefaultTreeListener(org.snt.inmemantlr.listener.DefaultTreeListener) GenericParser(org.snt.inmemantlr.GenericParser) Test(org.junit.jupiter.api.Test)

Example 58 with Lexer

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);
}
Also used : java.util(java.util) FileUtils(org.snt.inmemantlr.utils.FileUtils) LoggerFactory(org.slf4j.LoggerFactory) ParsingException(org.snt.inmemantlr.exceptions.ParsingException) IllegalWorkflowException(org.snt.inmemantlr.exceptions.IllegalWorkflowException) CompilationException(org.snt.inmemantlr.exceptions.CompilationException) Document(org.w3c.dom.Document) ToolCustomizer(org.snt.inmemantlr.tool.ToolCustomizer) ParseTree(org.snt.inmemantlr.tree.ParseTree) CasedStreamProvider(org.snt.inmemantlr.stream.CasedStreamProvider) GenericParser(org.snt.inmemantlr.GenericParser) Logger(org.slf4j.Logger) NodeList(org.w3c.dom.NodeList) IOException(java.io.IOException) Collectors(java.util.stream.Collectors) File(java.io.File) FileNotFoundException(java.io.FileNotFoundException) Test(org.junit.jupiter.api.Test) RecognitionException(org.antlr.v4.runtime.RecognitionException) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) SAXException(org.xml.sax.SAXException) Assertions(org.junit.jupiter.api.Assertions) DocumentBuilderFactory(javax.xml.parsers.DocumentBuilderFactory) ParserRuleContext(org.antlr.v4.runtime.ParserRuleContext) DefaultTreeListener(org.snt.inmemantlr.listener.DefaultTreeListener) FilenameUtils(org.apache.commons.io.FilenameUtils) CompilationException(org.snt.inmemantlr.exceptions.CompilationException) CasedStreamProvider(org.snt.inmemantlr.stream.CasedStreamProvider) FileNotFoundException(java.io.FileNotFoundException) File(java.io.File) DefaultTreeListener(org.snt.inmemantlr.listener.DefaultTreeListener) GenericParser(org.snt.inmemantlr.GenericParser) Test(org.junit.jupiter.api.Test)

Example 59 with Lexer

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);
}
Also used : java.util(java.util) FileUtils(org.snt.inmemantlr.utils.FileUtils) LoggerFactory(org.slf4j.LoggerFactory) ParsingException(org.snt.inmemantlr.exceptions.ParsingException) IllegalWorkflowException(org.snt.inmemantlr.exceptions.IllegalWorkflowException) CompilationException(org.snt.inmemantlr.exceptions.CompilationException) Document(org.w3c.dom.Document) ToolCustomizer(org.snt.inmemantlr.tool.ToolCustomizer) ParseTree(org.snt.inmemantlr.tree.ParseTree) CasedStreamProvider(org.snt.inmemantlr.stream.CasedStreamProvider) GenericParser(org.snt.inmemantlr.GenericParser) Logger(org.slf4j.Logger) NodeList(org.w3c.dom.NodeList) IOException(java.io.IOException) Collectors(java.util.stream.Collectors) File(java.io.File) FileNotFoundException(java.io.FileNotFoundException) Test(org.junit.jupiter.api.Test) RecognitionException(org.antlr.v4.runtime.RecognitionException) ParserConfigurationException(javax.xml.parsers.ParserConfigurationException) SAXException(org.xml.sax.SAXException) Assertions(org.junit.jupiter.api.Assertions) DocumentBuilderFactory(javax.xml.parsers.DocumentBuilderFactory) ParserRuleContext(org.antlr.v4.runtime.ParserRuleContext) DefaultTreeListener(org.snt.inmemantlr.listener.DefaultTreeListener) FilenameUtils(org.apache.commons.io.FilenameUtils) CompilationException(org.snt.inmemantlr.exceptions.CompilationException) CasedStreamProvider(org.snt.inmemantlr.stream.CasedStreamProvider) FileNotFoundException(java.io.FileNotFoundException) File(java.io.File) DefaultTreeListener(org.snt.inmemantlr.listener.DefaultTreeListener) GenericParser(org.snt.inmemantlr.GenericParser) Test(org.junit.jupiter.api.Test)

Example 60 with Lexer

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;
}
Also used : CommonTokenStream(org.antlr.v4.runtime.CommonTokenStream) XMLLexer(us.parr.bookish.parse.XMLLexer) XMLParser(us.parr.bookish.parse.XMLParser)

Aggregations

Test (org.junit.Test)427 LexerGrammar (org.antlr.v4.tool.LexerGrammar)407 CommonTokenStream (org.antlr.v4.runtime.CommonTokenStream)278 ANTLRInputStream (org.antlr.v4.runtime.ANTLRInputStream)145 Grammar (org.antlr.v4.tool.Grammar)125 LexerInterpreter (org.antlr.v4.runtime.LexerInterpreter)108 CharStream (org.antlr.v4.runtime.CharStream)98 ParseTree (org.antlr.v4.runtime.tree.ParseTree)91 TokenStreamRewriter (org.antlr.v4.runtime.TokenStreamRewriter)86 ATN (org.antlr.v4.runtime.atn.ATN)56 IOException (java.io.IOException)44 BaseJavaTest (org.antlr.v4.test.runtime.java.BaseJavaTest)43 Token (org.antlr.v4.runtime.Token)41 ParseTreeWalker (org.antlr.v4.runtime.tree.ParseTreeWalker)39 ArrayList (java.util.ArrayList)36 RecognitionException (org.antlr.v4.runtime.RecognitionException)26 StringReader (java.io.StringReader)23 ParserRuleContext (org.antlr.v4.runtime.ParserRuleContext)23 TokenStream (org.antlr.v4.runtime.TokenStream)23 Lexer (org.antlr.v4.runtime.Lexer)22