ANTLR is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.

Related tags

App antlr4
Overview

ANTLR v4

Java 6+ License

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It's widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build parse trees and also generates a listener interface (or visitor) that makes it easy to respond to the recognition of phrases of interest.

This is a fork

This is the "optimized" fork of ANTLR 4, which contains many features and optimizations not present in the reference release. For information about these features, see doc/optimized-fork.md.

Build Status

Build Travis-CI Status Build AppVeyor Status

codecov

Authors and major contributors

Useful information

The Definitive ANTLR 4 Reference

Programmers run into parsing problems all the time. Whether it’s a data format like JSON, a network protocol like SMTP, a server configuration file for Apache, a PostScript/PDF file, or a simple spreadsheet macro language—ANTLR v4 and this book will demystify the process. ANTLR v4 has been rewritten from scratch to make it easier than ever to build parsers and the language applications built on top. This completely rewritten new edition of the bestselling Definitive ANTLR Reference shows you how to take advantage of these new features.

You can buy the book The Definitive ANTLR 4 Reference at amazon or an electronic version at the publisher's site.

You will find the Book source code useful.

Additional grammars

This repository is a collection of grammars without actions where the root directory name is the all-lowercase name of the language parsed by the grammar. For example, java, cpp, csharp, c, etc...

Comments
  • Fix antlr/antlr4#1890 Standalone CR should be recognized as line separator

    Fix antlr/antlr4#1890 Standalone CR should be recognized as line separator

    Hello!

    I've made changes to treat stand-alone CR as line separator. This changes were tested on millions of LOC with-out any noticable perfomance regress. Also I use my fork to parse files everyday as a part of static analysis process.

    P.S. Link to my PR to original ANTLR4 repo opened half an year ago...

    opened by nixel2007 11
  • Unexpected parsing result in left recursive rule

    Unexpected parsing result in left recursive rule

    Hi @sharwell ,

    expression
        :  { SemanticPredicates.isTypeCast(_input) }? 
           castParExpression expression                                                        #castExprAlt
    

    ( the relevant workaround: https://github.com/danielsun1106/groovy-parser/blob/bbf0d3abaa2cf8cfdde3a8a3588bf39df2989083/src/main/antlr/GroovyParser.g4#L779-L788 )

    If the above semantic predicate fails, antlr4 will not choose other alternatives of expression, so we have to extract castExpression rule. In addition, even if we can workaround the semantic predicate issue, we found the priority of expression is not correct either, e.g. (Integer) m() instanceof Integer should be parsed as ((Integer) m()) instanceof Integer, but is parsed as (Integer) (m() instanceof Integer) currently. As you can see, we put the castExpression at the first place so we thought it should have higher priority than instanceof expression.

    Please have a look into the issue. Thanks in advance.

    Cheers, Daniel.Sun

    bug 
    opened by daniellansun 7
  • Question: what is the difference between this project and antlr/antlr4

    Question: what is the difference between this project and antlr/antlr4

    This project seems an old snapshot of https://github.com/antlr/antlr4, giving another artifact id with the same package name with https://github.com/antlr/antlr4.

    However, @sharwell merged a pull-request (#2) in this project. Why? Does this project live?

    question 
    opened by gfx 6
  • Bump junit from 4.11 to 4.13.1 in /antlr4-maven-plugin/src/test/projects/dependencyRemoved

    Bump junit from 4.11 to 4.13.1 in /antlr4-maven-plugin/src/test/projects/dependencyRemoved

    Bumps junit from 4.11 to 4.13.1.

    Release notes

    Sourced from junit's releases.

    JUnit 4.13.1

    Please refer to the release notes for details.

    JUnit 4.13

    Please refer to the release notes for details.

    JUnit 4.13 RC 2

    Please refer to the release notes for details.

    JUnit 4.13 RC 1

    Please refer to the release notes for details.

    JUnit 4.13 Beta 3

    Please refer to the release notes for details.

    JUnit 4.13 Beta 2

    Please refer to the release notes for details.

    JUnit 4.13 Beta 1

    Please refer to the release notes for details.

    JUnit 4.12

    Please refer to the release notes for details.

    JUnit 4.12 Beta 3

    Please refer to the release notes for details.

    JUnit 4.12 Beta 2

    No release notes provided.

    JUnit 4.12 Beta 1

    No release notes provided.

    Commits
    • 1b683f4 [maven-release-plugin] prepare release r4.13.1
    • ce6ce3a Draft 4.13.1 release notes
    • c29dd82 Change version to 4.13.1-SNAPSHOT
    • 1d17486 Add a link to assertThrows in exception testing
    • 543905d Use separate line for annotation in Javadoc
    • 510e906 Add sub headlines to class Javadoc
    • 610155b Merge pull request from GHSA-269g-pwp5-87pp
    • b6cfd1e Explicitly wrap float parameter for consistency (#1671)
    • a5d205c Fix GitHub link in FAQ (#1672)
    • 3a5c6b4 Deprecated since jdk9 replacing constructor instance of Double and Float (#1660)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 5
  • Bump junit from 4.11 to 4.13.1 in /antlr4-testgen-maven-plugin

    Bump junit from 4.11 to 4.13.1 in /antlr4-testgen-maven-plugin

    Bumps junit from 4.11 to 4.13.1.

    Release notes

    Sourced from junit's releases.

    JUnit 4.13.1

    Please refer to the release notes for details.

    JUnit 4.13

    Please refer to the release notes for details.

    JUnit 4.13 RC 2

    Please refer to the release notes for details.

    JUnit 4.13 RC 1

    Please refer to the release notes for details.

    JUnit 4.13 Beta 3

    Please refer to the release notes for details.

    JUnit 4.13 Beta 2

    Please refer to the release notes for details.

    JUnit 4.13 Beta 1

    Please refer to the release notes for details.

    JUnit 4.12

    Please refer to the release notes for details.

    JUnit 4.12 Beta 3

    Please refer to the release notes for details.

    JUnit 4.12 Beta 2

    No release notes provided.

    JUnit 4.12 Beta 1

    No release notes provided.

    Commits
    • 1b683f4 [maven-release-plugin] prepare release r4.13.1
    • ce6ce3a Draft 4.13.1 release notes
    • c29dd82 Change version to 4.13.1-SNAPSHOT
    • 1d17486 Add a link to assertThrows in exception testing
    • 543905d Use separate line for annotation in Javadoc
    • 510e906 Add sub headlines to class Javadoc
    • 610155b Merge pull request from GHSA-269g-pwp5-87pp
    • b6cfd1e Explicitly wrap float parameter for consistency (#1671)
    • a5d205c Fix GitHub link in FAQ (#1672)
    • 3a5c6b4 Deprecated since jdk9 replacing constructor instance of Double and Float (#1660)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 5
  • Bump junit from 4.12 to 4.13.1 in /antlr4-maven-plugin

    Bump junit from 4.12 to 4.13.1 in /antlr4-maven-plugin

    Bumps junit from 4.12 to 4.13.1.

    Release notes

    Sourced from junit's releases.

    JUnit 4.13.1

    Please refer to the release notes for details.

    JUnit 4.13

    Please refer to the release notes for details.

    JUnit 4.13 RC 2

    Please refer to the release notes for details.

    JUnit 4.13 RC 1

    Please refer to the release notes for details.

    JUnit 4.13 Beta 3

    Please refer to the release notes for details.

    JUnit 4.13 Beta 2

    Please refer to the release notes for details.

    JUnit 4.13 Beta 1

    Please refer to the release notes for details.

    Commits
    • 1b683f4 [maven-release-plugin] prepare release r4.13.1
    • ce6ce3a Draft 4.13.1 release notes
    • c29dd82 Change version to 4.13.1-SNAPSHOT
    • 1d17486 Add a link to assertThrows in exception testing
    • 543905d Use separate line for annotation in Javadoc
    • 510e906 Add sub headlines to class Javadoc
    • 610155b Merge pull request from GHSA-269g-pwp5-87pp
    • b6cfd1e Explicitly wrap float parameter for consistency (#1671)
    • a5d205c Fix GitHub link in FAQ (#1672)
    • 3a5c6b4 Deprecated since jdk9 replacing constructor instance of Double and Float (#1660)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 4
  • Improve the performance of failed semantic predicate

    Improve the performance of failed semantic predicate

    Background

    When semantic predicate fails, FailedPredicateException will be thrown to change the control flow. But as we all know, filling the stack trace is expensive especially when FailedPredicateException is thrown frequently.

    Proposal

    I propose to override fillInStackTrace() of FailedPredicateException, and its implementation is simplified as follows:

        public synchronized Throwable fillInStackTrace() {
            return this;
        }
    

    its default implementation is:

        public synchronized Throwable fillInStackTrace() {
            if (stackTrace != null ||
                backtrace != null /* Out of protocol state */ ) {
                fillInStackTrace(0);
                stackTrace = UNASSIGNED_STACK;
            }
            return this;
        }
    

    Advantages & Disadvantages

    • The performance of parsing can be improved to some extent. The more semantic predicates we use, the more performance we will gain.
    • We can not get the stack trace of FailedPredicateException, but usually we do not care about its stack trace. If we want to address FailedPredicateException some day, we can add the state to the exception message, e.g.
    setState(1126);
    if (!( !SemanticPredicates.isInvalidMethodDeclaration(_input) ))
        throw new FailedPredicateException(
            this, 
            " !SemanticPredicates.isInvalidMethodDeclaration(_input),  state: " 
                + 1126 /* the state is added here */);
    setState(1127);
    
    opened by daniellansun 4
  • Compiler errors related to CAP#1

    Compiler errors related to CAP#1

    Hi,

    I am experimenting with the tunnelvisionlabs fork but met a lots of compilation errors related to "CAP#1". The errors come from my code in which I reference the context objects generated by antlr such as "Update_stmt_setContext".

    I am using version 4.5. Is tunnelvisionlabs fork 100% compatible with original antlr4? Should I try a different version?

    Please advise, thanks water

    question wontfix 
    opened by waterguo 4
  • Bump junit from 4.11 to 4.13.1 in /antlr4-maven-plugin/src/test/projects/importsStandard

    Bump junit from 4.11 to 4.13.1 in /antlr4-maven-plugin/src/test/projects/importsStandard

    Bumps junit from 4.11 to 4.13.1.

    Release notes

    Sourced from junit's releases.

    JUnit 4.13.1

    Please refer to the release notes for details.

    JUnit 4.13

    Please refer to the release notes for details.

    JUnit 4.13 RC 2

    Please refer to the release notes for details.

    JUnit 4.13 RC 1

    Please refer to the release notes for details.

    JUnit 4.13 Beta 3

    Please refer to the release notes for details.

    JUnit 4.13 Beta 2

    Please refer to the release notes for details.

    JUnit 4.13 Beta 1

    Please refer to the release notes for details.

    JUnit 4.12

    Please refer to the release notes for details.

    JUnit 4.12 Beta 3

    Please refer to the release notes for details.

    JUnit 4.12 Beta 2

    No release notes provided.

    JUnit 4.12 Beta 1

    No release notes provided.

    Commits
    • 1b683f4 [maven-release-plugin] prepare release r4.13.1
    • ce6ce3a Draft 4.13.1 release notes
    • c29dd82 Change version to 4.13.1-SNAPSHOT
    • 1d17486 Add a link to assertThrows in exception testing
    • 543905d Use separate line for annotation in Javadoc
    • 510e906 Add sub headlines to class Javadoc
    • 610155b Merge pull request from GHSA-269g-pwp5-87pp
    • b6cfd1e Explicitly wrap float parameter for consistency (#1671)
    • a5d205c Fix GitHub link in FAQ (#1672)
    • 3a5c6b4 Deprecated since jdk9 replacing constructor instance of Double and Float (#1660)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 3
  • Bump junit from 4.11 to 4.13.1 in /runtime-testsuite

    Bump junit from 4.11 to 4.13.1 in /runtime-testsuite

    Bumps junit from 4.11 to 4.13.1.

    Release notes

    Sourced from junit's releases.

    JUnit 4.13.1

    Please refer to the release notes for details.

    JUnit 4.13

    Please refer to the release notes for details.

    JUnit 4.13 RC 2

    Please refer to the release notes for details.

    JUnit 4.13 RC 1

    Please refer to the release notes for details.

    JUnit 4.13 Beta 3

    Please refer to the release notes for details.

    JUnit 4.13 Beta 2

    Please refer to the release notes for details.

    JUnit 4.13 Beta 1

    Please refer to the release notes for details.

    JUnit 4.12

    Please refer to the release notes for details.

    JUnit 4.12 Beta 3

    Please refer to the release notes for details.

    JUnit 4.12 Beta 2

    No release notes provided.

    JUnit 4.12 Beta 1

    No release notes provided.

    Commits
    • 1b683f4 [maven-release-plugin] prepare release r4.13.1
    • ce6ce3a Draft 4.13.1 release notes
    • c29dd82 Change version to 4.13.1-SNAPSHOT
    • 1d17486 Add a link to assertThrows in exception testing
    • 543905d Use separate line for annotation in Javadoc
    • 510e906 Add sub headlines to class Javadoc
    • 610155b Merge pull request from GHSA-269g-pwp5-87pp
    • b6cfd1e Explicitly wrap float parameter for consistency (#1671)
    • a5d205c Fix GitHub link in FAQ (#1672)
    • 3a5c6b4 Deprecated since jdk9 replacing constructor instance of Double and Float (#1660)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 3
  • Bump junit from 4.11 to 4.13.1 in /runtime/Java

    Bump junit from 4.11 to 4.13.1 in /runtime/Java

    Bumps junit from 4.11 to 4.13.1.

    Release notes

    Sourced from junit's releases.

    JUnit 4.13.1

    Please refer to the release notes for details.

    JUnit 4.13

    Please refer to the release notes for details.

    JUnit 4.13 RC 2

    Please refer to the release notes for details.

    JUnit 4.13 RC 1

    Please refer to the release notes for details.

    JUnit 4.13 Beta 3

    Please refer to the release notes for details.

    JUnit 4.13 Beta 2

    Please refer to the release notes for details.

    JUnit 4.13 Beta 1

    Please refer to the release notes for details.

    JUnit 4.12

    Please refer to the release notes for details.

    JUnit 4.12 Beta 3

    Please refer to the release notes for details.

    JUnit 4.12 Beta 2

    No release notes provided.

    JUnit 4.12 Beta 1

    No release notes provided.

    Commits
    • 1b683f4 [maven-release-plugin] prepare release r4.13.1
    • ce6ce3a Draft 4.13.1 release notes
    • c29dd82 Change version to 4.13.1-SNAPSHOT
    • 1d17486 Add a link to assertThrows in exception testing
    • 543905d Use separate line for annotation in Javadoc
    • 510e906 Add sub headlines to class Javadoc
    • 610155b Merge pull request from GHSA-269g-pwp5-87pp
    • b6cfd1e Explicitly wrap float parameter for consistency (#1671)
    • a5d205c Fix GitHub link in FAQ (#1672)
    • 3a5c6b4 Deprecated since jdk9 replacing constructor instance of Double and Float (#1660)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 3
  • Bump plexus-utils from 3.0.15 to 3.0.16 in /antlr4-maven-plugin

    Bump plexus-utils from 3.0.15 to 3.0.16 in /antlr4-maven-plugin

    Bumps plexus-utils from 3.0.15 to 3.0.16.

    Commits
    • cf317f9 [maven-release-plugin] prepare release plexus-utils-3.0.16
    • 26e3ae8 Remove incorrect tag element
    • 99639d6 Little test to mimic ${project.artifactMap(g:a:c)} usage
    • 5d46979 Needs to build with 1.7 because of some Java7 utils, but source/target needs ...
    • 18bd77d We can't switch to Java7 yet while Maven still needs to run on Java6
    • 3cf855c Remove release cruft
    • 3196d4c ignore .java-version
    • 57b636d changed XmlUtilTest to create test output directory
    • 33091f9 Use the same method for finding the basedir as our other code.
    • a153249 MNG-5553 reworked dotted expressions interpreter
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Merge changes from 4.10 of antlr4 RI

    Merge changes from 4.10 of antlr4 RI

    Hi @sharwell

    The reference implementation of antlr4 was released 4.10 just now, how about merging the changes into the optimized fork? https://github.com/antlr/antlr4/releases/tag/4.10

    opened by daniellansun 1
  • ATN clearDFA() results in nullpointer exception

    ATN clearDFA() results in nullpointer exception

    public final void clearDFA() {
    		decisionToDFA = new DFA[decisionToState.size()];
    		for (int i = 0; i < decisionToDFA.length; i++) {
    			decisionToDFA[i] = new DFA(decisionToState.get(i), i);
    		}
    

    the clearDFA function of ATN.java first reinitializes the DFA array and then assigns the value to array elements, due to this when parallel parsers are in use, calling clearDFA from one parser results in getting nullpointer exception in multithreaded scenarios

    java.lang.NullPointerException: null at org.antlr.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:367) ~[antlr4-runtime-4.9.0.jar:4.9.0] at org.antlr.v4.runtime.atn.ParserATNSimulator.adaptivePredict(ParserATNSimulator.java:357) ~[antlr4-runtime-4.9.0.jar:4.9.0]

    From the ANTLR main release branch i can see the clearDFA logic is written without the reinitilization of DFA array.. so whether this is a bug in the optimized fork ?

    public final void clearDFA() {
    		for (int i = 0; i < decisionToDFA.length; i++) {
    			decisionToDFA[i] = new DFA(decisionToState.get(i), i);
    		}
    
    opened by chandra-kambham 1
  • How to build tool or where to get it from in order to generate optimized classes

    How to build tool or where to get it from in order to generate optimized classes

    Hi, I am trying to find the tool of the optimized build but I could not build it. Can you guide me how to make it or where to get it from? As I see it should generate different output than the default tool if I want to use it with the optimized runtime.

    opened by Marti2203 0
  • "TypeError: Class constructor Lexer cannot be invoked without 'new'"

    $antlr4 -Dlanguage=JavaScript SplParser.g4

    Generate file:SplParserLexer.js.

    In SplParserLexer.js codes:

    function SplParserLexer(input) { antlr4.Lexer.call(this, input); this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache()); return this; }

    Browser error:"TypeError: Class constructor Lexer cannot be invoked without 'new'"

    How to solve it,please?

    opened by queenlixiaoman 0
Releases(4.9.0-opt)
  • 4.9.0-opt(Dec 29, 2020)

  • 4.7.4-opt(Dec 29, 2020)

  • 4.7.3-opt(Feb 11, 2019)

    This is release 4.7.3 of the "optimized" fork of ANTLR 4. The release incorporates changes made during the official 4.7.2 release, with the following notable changes.

    • Only the Java target is included with this release. The serialized ATN representation used by this release differs from the official release, preventing its use with other targets.

    This release builds on the 4.7.2 (Optimized) release by the following:

    • Improved support for baseContext
    • Mark antlr4-annotations as an optional dependency, since it's embedded inside antlr4-runtime anyway

    All commits made for this release

    Source code(tar.gz)
    Source code(zip)
  • 4.7.2-opt(Dec 23, 2018)

    This is release 4.7.2 of the "optimized" fork of ANTLR 4. The release incorporates changes made during the official 4.7.2 release, with the following notable changes.

    • Only the Java target is included with this release. The serialized ATN representation used by this release differs from the official release, preventing its use with other targets.

    All commits made for this release

    Source code(tar.gz)
    Source code(zip)
  • 4.7.1-opt(Apr 9, 2018)

    This is release 4.7.1 of the "optimized" fork of ANTLR 4. The release incorporates changes made during the official 4.7.1 release, with the following notable changes.

    • Only the Java target is included with this release. The serialized ATN representation used by this release differs from the official release, preventing its use with other targets.
    • The following performance improvement was made for the optimized release:
      • tunnelvisionlabs/antlr4#28

    All commits made for this release

    Source code(tar.gz)
    Source code(zip)
  • 4.7-opt(Aug 8, 2017)

    This is release 4.7 of the "optimized" fork of ANTLR 4. The release incorporates changes made during the official 4.7 release, with the following notable changes.

    • Only the Java target is included with this release. The serialized ATN representation used by this release differs from the official release, preventing its use with other targets.
    • The following fixes from the official ANTLR 4.7.1 are also included:
      • antlr/antlr4#1818
      • antlr/antlr4#1945
      • antlr/antlr4#1969

    All commits made for this release

    Source code(tar.gz)
    Source code(zip)
  • 4.6.0.3-opt(Jan 6, 2017)

    This patch release builds on the 4.6.0.1 (Optimized) release with fixes for the following issues:

    • antlr/antlr4#1576 (compatibility improvement to support the optimized TypeScript target)
    • antlr/antlr4#1582 (bug fixes for previous compatibility improvement)
    Source code(tar.gz)
    Source code(zip)
  • 4.6.0.1-opt(Jan 4, 2017)

  • 4.6-opt(Dec 30, 2016)

    This is release 4.6 of the "optimized" fork of ANTLR 4. The release incorporates changes made during the official 4.6 release, with the following notable changes.

    • Only the Java target is included with this release. The serialized ATN representation used by this release differs from the official release, preventing its use with other targets.
    • The following fixes from the official ANTLR 4.6.1 are also included:
      • antlr/antlr4#1546
      • antlr/antlr4#1544

    All commits made for this release

    Source code(tar.gz)
    Source code(zip)
Owner
Tunnel Vision Laboratories, LLC
Tunnel Vision Laboratories, LLC
An android app make a one-stop solution for finding the desired reading or research partner, sell their own products, and also be a tutor

The purpose of this project is to make a one-stop solution for finding the desired reading or research partner, sell their own products, and also be a tutor.

Md.Asraful Islam Asif 4 Dec 14, 2022
ICSx⁵ is an Android app to subscribe to remote or local iCalendar files (like time tables of your school/university or event files of your sports team).

ICSx⁵ ICSx⁵ is an Android app to subscribe to remote Webcal feeds / iCalendar files (like time tables of your school/university or event files of your

bitfire web engineering 60 Dec 28, 2022
An E-Commerce android App whose frontend is implemented using Kotlin & XML files and backend/database is implemented using My SQL & PHP files

An E-Commerce android App whose frontend is implemented using Kotlin & XML files and backend/database is implemented using My SQL & PHP files

null 4 Aug 25, 2022
KeyCip - an Android app that allows users to encrypt, decrypt and sign text, photos, videos and other files

KeyCip is an Android app that allows users to encrypt, decrypt and sign text, photos, videos and other files. To accomplish this goal, it relie

null 18 Nov 26, 2022
Open Graph Parser for Android

OpenGraphParser A small and easy to use library which provides the convenience of using Open Graph Protocol in Android very easily. Create previews fo

Priyansh Kedia 69 Jan 4, 2023
Tournant is a Gourmand/Gourmet recipe parser which serves your dishes on your Android device

Tournant Gourmand/Gourmet recipe parser Website: tournant.zimbelstern.eu Tournant serves your favorite dishes on your Android device! With Tournant, y

null 5 Dec 23, 2022
A simple command line parser that takes different kind and format of inputs

CLI Parser Kata Introduction This is a simple command line parser that takes different kind and format of inputs and exports them to other format and

Victor Grycuk 0 Oct 5, 2021
Auto-pipeline: a source code generator, it will generate your component's pipeline

auto-pipeline ?? auto-pipeline is a source code generator, it will generate your

Zava 106 Dec 20, 2022
A random meme generator and can be shared , each click will show yo a different meme.

AlphaMemes(random meme sharing app) A android app which display new meme on each click. used API which is dynamic/ Glide library used / Recycler view

SUMIT KUMAR 4 Jan 18, 2022
Twidere-Android Twidere is a powerful twitter client for Android 1.6+ 1 , which gives you a full Holo experience and nearly full Twitter's feature.

Twidere for Android Material Design ready and feature rich Twitter/Mastodon/Fanfou app for Android 4.1+. Enjoy Fediverse now! Twidere-Android is maint

Twidere Project 2.7k Jan 2, 2023
Easy app for managing your files without ads, respecting your privacy & security

Simple File Manager Can also be used for browsing root files and SD card content. You can easily rename, copy, move, delete and share anything you wis

Simple Mobile Tools 1.2k Dec 30, 2022
Simple library to decompress files .zip, .rar, .cbz, .cbr in React Native.

Uncompress React Native Simple library to decompress files .zip, .rar, .cbz and .cbr in React Native. Installation yarn add uncompress-react-native o

Adriano Souza Costa 40 Nov 24, 2022
🚀A powerful android clean architecture that helps you build your apps faster.

IMStudio ?? Table of Contents Project Structure Convention RxJava Common Scripts Technical Stack Dependencies Library Architecture Case Study Authors

Hau NGUYEN (Leo) 0 Nov 20, 2022
NamelessnessR is a vpn hub that combines a number of vpn protocols to provide a hub to a single vpn powerful to protect your privacy only.

NamelessnessR Design concept The Design concept is designed using adobe xd basing of different ideas but mainly Anxray, V2rayNG and NamelessnetX with

mxbhaee 2 Jan 13, 2022
신경 - Cloud-native messaging/pubsub with powerful routing

신경 신경 /ɕʰinɡjʌ̹ŋ/ • sin-gyeong (try it with IPA Reader) nerve Nerve /nərv/ • noun (in the body) a whitish fiber or bundle of fibers that transmits imp

amy null 75 Dec 22, 2022
NamelessnessR is a vpn hub that combines a number of vpn protocols to provide a hub to a single vpn powerful to protect your privacy only.

namelessnexR Design concept The Design concept is designed using adobe xd basing of different ideas but mainly Anxray, V2rayNG and NamelessnetX with N

mxbhaee 2 Jan 13, 2022
A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.

Ionic Ionic is an open source app development toolkit for building modern, fast, top-quality cross-platform native and Progressive Web Apps from a sin

Ionic 48.4k Jan 3, 2023
A minimalist but powerful productivity timer designed to keep you focused and free of distractions.

Goodtime A minimalist but powerful productivity timer designed to keep you focused and free of distractions. Alternate between focused work sessions a

Adrian Cotfas 692 Dec 27, 2022
Idaesbasic - An all in one project manager that stores everything in files directly into your project! 🤯

Idaesbasic - Project-Managment redefined Idaesbasic Everything is a file ?? With this project managment tool, everything is a file. Your todolists are

Ben Herbst 123 Nov 11, 2022