{"id":20397304,"url":"https://github.com/nielsbasjes/antlr4-pvisitor","last_synced_at":"2025-10-14T08:36:47.239Z","repository":{"id":38066551,"uuid":"188036673","full_name":"nielsbasjes/antlr4-pvisitor","owner":"nielsbasjes","description":"A parameterized visitor for Antlr4","archived":false,"fork":false,"pushed_at":"2025-09-30T11:18:23.000Z","size":158,"stargazers_count":6,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-30T13:16:39.159Z","etag":null,"topics":["antlr4","antlr4-java"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nielsbasjes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-22T12:42:57.000Z","updated_at":"2025-09-30T11:17:38.000Z","dependencies_parsed_at":"2023-02-17T02:30:57.568Z","dependency_job_id":"db61157f-9f27-4692-a668-2da6f5beec70","html_url":"https://github.com/nielsbasjes/antlr4-pvisitor","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/nielsbasjes/antlr4-pvisitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsbasjes%2Fantlr4-pvisitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsbasjes%2Fantlr4-pvisitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsbasjes%2Fantlr4-pvisitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsbasjes%2Fantlr4-pvisitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nielsbasjes","download_url":"https://codeload.github.com/nielsbasjes/antlr4-pvisitor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsbasjes%2Fantlr4-pvisitor/sbom","scorecard":{"id":686482,"data":{"date":"2025-08-11","repo":{"name":"github.com/nielsbasjes/antlr4-pvisitor","commit":"8f0e650cc98ef3a7e4166dfe4921b4228a42a7e8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":9,"reason":"11 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/1 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:   3 out of   3 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T01:00:07.584Z","repository_id":38066551,"created_at":"2025-08-22T01:00:07.585Z","updated_at":"2025-08-22T01:00:07.585Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018302,"owners_count":26086342,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antlr4","antlr4-java"],"created_at":"2024-11-15T04:13:13.094Z","updated_at":"2025-10-14T08:36:47.224Z","avatar_url":"https://github.com/nielsbasjes.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A Parameterized Visitor for ANTLR4 \nI have the usecase where I need to pass a parameter along with my visitor.\n\nWhat I'm trying to do is have a tree stucture with 'patterns' and while walking recursively through \nthe parse tree using the visitor match my parse result against the 'pattern tree'.\n\nThis parameter is therefor the node in the other tree.\n\nThere has been discussion about such a wish before but those all came to the conclusion that such a feature would break backwards compatibility.\n\nhttps://github.com/antlr/antlr4/issues/641\n\nWhat this project does is simply change only the files that need to be changed and change the code generation accordingly.\n\n# This project\nI simply copied a small number of files related to the Java code generation and the related runtime (including the Java.stg).\n\nIn my application I use the Java.stg to generate different application code and \nuse this as a dependency to override the official Antlr4 classes.\n\n# Current status\nSeems to work on my machine, it will most likely melt yours.\n\nI do have it deployed in Maven central, use at your own risk.\n\n\n    \u003cdependency\u003e\n        \u003cgroupId\u003enl.basjes.antlr\u003c/groupId\u003e\n        \u003cartifactId\u003eantlr4-pvisitor\u003c/artifactId\u003e\n        \u003cversion\u003e1.0.1-4.12.0\u003c/version\u003e\n    \u003c/dependency\u003e\n\n\n# LICENSE\nThis project is essentially a relatively simple (but not backward compatible!) change of the existing Antlr 4.11.1 code.\n\nThese files are simply some of the original Antlr4 files with a generic added here and there.\n\nSo this is \u003e99% a 1-on-1 copy of the Antlr4 code.\n\n    Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.\n    Use of this file is governed by the BSD 3-clause license that\n    can be found in the LICENSE.txt file in the project root.\n\nThe mentioned LICENSE.txt is part of this project.\n\nI put these trivial modifications under the exact same license.\n\n    Copyright (c) 2019 Niels Basjes. All rights reserved.\n    Use of this file is governed by the BSD 3-clause license. \n\nNote that I explicitly allow the Antlr4 project to pull any part of this into the original Antlr4 \nand distribute it as a contribution to that project under their license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnielsbasjes%2Fantlr4-pvisitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnielsbasjes%2Fantlr4-pvisitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnielsbasjes%2Fantlr4-pvisitor/lists"}