Skip to content

Conversation

@vEpiphyte
Copy link

@vEpiphyte vEpiphyte commented Dec 26, 2023

  • Update antlr generated content to use antlr 4.13.1
  • Remove six ( since its no longer required )
  • Updated build / test actions to use python 3.11 and python 3.11
  • Updated dev / install documentation.

Binding regeneration:

Using openjdk-19-jre-headless

java -jar ./antlr-4.13.1-complete.jar -Dlanguage=Python3 STIXPattern.g4 -visitor -o ./stix2patterns/v21/grammars
java -jar ./antlr-4.13.1-complete.jar -Dlanguage=Python3 STIXPattern.g4 -visitor -o ./stix2patterns/v20/grammars

Files taken from
https://github.com/oasis-open/cti-stix2-json-schemas/blob/stix2.0/pattern_grammar/STIXPattern.g4
https://github.com/oasis-open/cti-stix2-json-schemas/blob/stix2.1/pattern_grammar/STIXPattern.g4

$ sha256sum STIXPattern.g4*
a5fab115c8973680f13274113ba1d9c1fe5708b00805a06644c7ce717c42ff19  STIXPattern.g4.20
b6429e8fed902133d2409d86c906b0c9dbaa4a54536023997ee73b460876b228  STIXPattern.g4.21

Bindings were committed as is.

The test suite for https://github.com/oasis-open/cti-pattern-matcher and https://github.com/oasis-open/cti-stix-validator pass with these updated bindings.

The tox suite seems to fail on a packaing step. That is unrelated to this PR.

Closes #84

Using openjdk-19-jre-headless

$ sha256sum antlr-4.13.1-complete.jar
bc13a9c57a8dd7d5196888211e5ede657cb64a3ce968608697e4f668251a8487  antlr-4.13.1-complete.jar

Building the bindings

java -jar ./antlr-4.13.1-complete.jar -Dlanguage=Python3 STIXPattern.g4 -visitor -o ./stix2patterns/v21/grammars
java -jar ./antlr-4.13.1-complete.jar -Dlanguage=Python3 STIXPattern.g4 -visitor -o ./stix2patterns/v20/grammars

Files taken from
https://github.com/oasis-open/cti-stix2-json-schemas/blob/stix2.0/pattern_grammar/STIXPattern.g4
https://github.com/oasis-open/cti-stix2-json-schemas/blob/stix2.1/pattern_grammar/STIXPattern.g4

$ sha256sum STIXPattern.g4*
a5fab115c8973680f13274113ba1d9c1fe5708b00805a06644c7ce717c42ff19  STIXPattern.g4.20
b6429e8fed902133d2409d86c906b0c9dbaa4a54536023997ee73b460876b228  STIXPattern.g4.21
@vEpiphyte vEpiphyte marked this pull request as ready for review December 26, 2023 17:16
@vEpiphyte vEpiphyte changed the title Feat rebuild bindings Feat rebuild ANTLR bindings Dec 26, 2023
@vEpiphyte
Copy link
Author

@clenk @chisholm Can this be reviewed?

@CLAassistant
Copy link

CLAassistant commented Jul 31, 2025

CLA assistant check
All committers have signed the CLA.

@brianatdetections
Copy link

@vEpiphyte Hi! I've opened PR #100 which builds on similar work to this PR.

It uses ANTLR 4.13.2 (vs 4.13.1 here), adds Python 3.13 support, includes an automated regeneration script, and updates all three grammar directories. I also fixed the v20 inspector to handle the TimestampLiteral API change.

Happy to coordinate so we don't duplicate effort. If you'd like, we could consolidate the work into one PR. Let me know your thoughts!

@vEpiphyte
Copy link
Author

vEpiphyte commented Dec 30, 2025

@brianatdetections I will close this in favor of your PR. The only real "feature" that mine had over #100 was the removal of the six library. It is no longer needed since python 2.7 support has been dropped in #82 .

I'll open a separate PR that cherry picks ec5b7be and then close this PR once that is available.

@vEpiphyte
Copy link
Author

Opened #101 to remove six from the library. Closing this since it is overtaken by #100 .

@vEpiphyte vEpiphyte closed this Dec 31, 2025
@vEpiphyte vEpiphyte deleted the feat_rebuild_bindings branch December 31, 2025 17:09
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.

Be flexible with antlr version?

3 participants