Skip to content

Conversation

@KyrylR
Copy link

@KyrylR KyrylR commented Oct 1, 2025

Resolves the conflicts in #4

Feel free to close it. If it would help speed things up, I’m happy to help

jimidle and others added 30 commits March 28, 2023 16:17
Prior to this change, the runtime and generated code was using panic() and recover()
to perform error checking and reporting. This is extremely expensive and just not the
way to do it.

This change now uses goto, and explicit checking for error state after selected calls
into the runtime. This has greatly improved parser performance. Using the test code
provided by a recent performance issue report, the parse is now twoice as fast as the
issue raised was hoping for.

Signed-off-by: Jim.Idle <jimi@idle.ws>
* Add missing methods typing

Signed-off-by: hdpnguyen <hieu.dac.phuong.nguyen@mgm-tp.com>

* Fix PR comments

Signed-off-by: hdpnguyen <hieu.dac.phuong.nguyen@mgm-tp.com>

---------

Signed-off-by: hdpnguyen <hieu.dac.phuong.nguyen@mgm-tp.com>
Co-authored-by: hdpnguyen <hieu.dac.phuong.nguyen@mgm-tp.com>
Signed-off-by: Jim.Idle <jimi@idle.ws>
* do not modify String.prototype in js package

Signed-off-by: Jon Harris <harris.jb@gmail.com>

* remove notice file that is no longer relevant

Signed-off-by: Jon Harris <harris.jb@gmail.com>

---------

Signed-off-by: Jon Harris <harris.jb@gmail.com>
Signed-off-by: Jim.Idle <jimi@idle.ws>
Github action for upload was upgraded to v3 recently and the release is
unstable causing too many uploads to fail. Downgrading back to previous
version hasn't made significant improvement either.

Since the artifacts aren't exactly used by any chained job, failures for
uploading the artifact can be ignored. The artifacts are used mostly for
the purpose for debugging and so if needed the user can trigger specific
build again to get the artifact.

Signed-off-by: HS <hs@apotell.com>
Signed-off-by: Jim.Idle <jimi@idle.ws>
Signed-off-by: Jim.Idle <jimi@idle.ws>
Interfaces require two pointer lookups for functions and when used as
Generic, they require three. This change therefore yields a small
performance upgrade.

This change also corrects one or two copmarisons that were using pointer
comparison instead of Equals() and were bugs in the code I inherited.

Signed-off-by: Jim.Idle <jimi@idle.ws>
Signed-off-by: Jim.Idle <jimi@idle.ws>
Signed-off-by: Jim.Idle <jimi@idle.ws>
Signed-off-by: Jim.Idle <jimi@idle.ws>
… a single type and therefore a pointer

Signed-off-by: Jim.Idle <jimi@idle.ws>
Too much emulation of the Java runtime structure means that many structs
are being called via interfaces, which introduces and extra look up. When
you add that lookup to call via a pointer and then even an extra lookup for
generics, then it becomes significant. This seems like a big commit but
it is all just changing the one type declaration.

This now allows us to get rid of the stupid getters and setters that just
clutter the code and are not idiomatic of Go anyway.

Signed-off-by: Jim.Idle <jimi@idle.ws>
Go does not use Getters and Setters unless there is some very good reason such
as copy on read or write. They can stop the compiler from inlining things so they
are now gone from ANTConfigSet, whihc is no longer an interface.

Signed-off-by: Jim.Idle <jimi@idle.ws>
Like other struct implementations, this was hidden by an
interface that did not need to be there. the only difference between
a lexer and parser config is the Hash/Equals and extra methods that only
the lexer calls.

Signed-off-by: Jim.Idle <jimi@idle.ws>
Signed-off-by: Jim.Idle <jimi@idle.ws>
Signed-off-by: Jim.Idle <jimi@idle.ws>
…f DFA collections

Signed-off-by: Jim.Idle <jimi@idle.ws>
Also corrects the formatting of some of the files as this can create false
compares in git.

Signed-off-by: Jim.Idle <jimi@idle.ws>
…er look

Signed-off-by: Jim.Idle <jimi@idle.ws>
…in some cases

Signed-off-by: Jim.Idle <jimi@idle.ws>
…each run

Signed-off-by: Jim.Idle <jimi@idle.ws>
Another small gain, but for one good parser this goes from 90ms to 64ms (for 16 large files)
so it won't make a lot of difference for poor parser, but good ones will see a nice kick here

Signed-off-by: Jim.Idle <jimi@idle.ws>
  o Uses reflection to check that the tree structure is all correct
  o Disables test that uses superClass as this basically doesn't work/isn't a concept in Go.

Signed-off-by: Jim.Idle <jimi@idle.ws>
Signed-off-by: Ahmad Tameem <ahmad.tameem97@gmail.com>
Signed-off-by: Adrian Jutrowski <adrian.jutrowski@gmail.com>
…mpacted

Signed-off-by: Adrian Jutrowski <adrian.jutrowski@gmail.com>
…require

Signed-off-by: Adrian Jutrowski <adrian.jutrowski@gmail.com>
jmairboeck and others added 23 commits September 2, 2025 15:23
…ntlr#4109)

* [Cpp] CMake: use variables for specifying install paths consistently

This allows overriding them if needed when the system uses different paths than
usual (e.g. Haiku, which uses "develop/headers" for includes instead of
"include").

Use the standard variable ${CMAKE_INSTALL_INCLUDEDIR} as the base path for the
include directory.

Signed-off-by: Joachim Mairböck <j.mairboeck@gmail.com>

* [Cpp] CMake: include GNUInstallDirs unconditionally to have CMAKE_INSTALL_DOCDIR available

Signed-off-by: Joachim Mairböck <j.mairboeck@gmail.com>

---------

Signed-off-by: Joachim Mairböck <j.mairboeck@gmail.com>
Signed-off-by: cyqw <cyqw@163.com>
…e-testsuite

Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
…use LexerATNSimulator use wrong edges to match token

Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: cyqw <cyqw@163.com>
Signed-off-by: Alex Snaps <alex@wcgw.dev>
# Conflicts:
#	historical-contributors-agreement.txt
@KyrylR KyrylR changed the title Feature/latest Merge from the latest ANTLR (duplicated to resolve conflicts) Oct 1, 2025
@KyrylR
Copy link
Author

KyrylR commented Oct 1, 2025

Hi @alexsnaps,

I also addressed this comment: #4 (comment)

I am quite committed to refactoring some things here and finally making the Rust target official, though it will take a while...

@KyrylR KyrylR closed this Oct 17, 2025
@tlepoint
Copy link

Out of curiosity: why was this closed? Is #4 the right PR to track?

@KyrylR
Copy link
Author

KyrylR commented Oct 20, 2025

Hi @tlepoint, primarily because there was activity on #4

Also, to avoid bringing more chaos into the org side of things

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.