{"id":22731097,"url":"https://github.com/genentech/pikca4","last_synced_at":"2025-06-12T11:06:24.775Z","repository":{"id":72633722,"uuid":"475490035","full_name":"Genentech/pikca4","owner":"Genentech","description":null,"archived":false,"fork":false,"pushed_at":"2022-04-02T04:00:23.000Z","size":143,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-30T01:31:56.937Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Genentech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-03-29T14:51:15.000Z","updated_at":"2022-04-02T03:50:05.000Z","dependencies_parsed_at":"2023-05-16T16:15:56.549Z","dependency_job_id":null,"html_url":"https://github.com/Genentech/pikca4","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Genentech/pikca4","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genentech%2Fpikca4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genentech%2Fpikca4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genentech%2Fpikca4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genentech%2Fpikca4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Genentech","download_url":"https://codeload.github.com/Genentech/pikca4/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Genentech%2Fpikca4/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259453534,"owners_count":22860086,"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","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":[],"created_at":"2024-12-10T19:19:25.360Z","updated_at":"2025-06-12T11:06:24.745Z","avatar_url":"https://github.com/Genentech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Description\n\nIt takes a configuration file written in a specific format used by an open source tool to generate a reader that understands machine-readable codes as specified in the provided configuration file, and converts that provided configuration file into another format where a second open source tool is able to render as a visualisation, hence helping coders to learn how to write those machine-readable codes.\n\n### Goal\n\nTakes in any Antlr4 grammar file in, and generates Pikchr outputs.\n\nIt's visually helpful and attractive for potential users to understand and use a language.\n\n```mermaid\n   graph TD;\n       Example.g4 --\u003e example.pikchr\n```\n\nFor instance:\n\n\u003cimg src=\"https://user-images.githubusercontent.com/1774905/161237606-6e8024c8-34f8-450d-abe0-c8c86f42dfef.png\" width=\"66%\" height=\"66%\"\u003e\n\n### Examples\n\n1. [Antlr4 grammar examples](https://github.com/antlr/grammars-v4)\n1. [Pikchr examples](https://pikchr.org/home/doc/trunk/doc/examples.md)\n\n### Usage\n\nCAUTION: lexer rules must be removed first. (Need fix this)\n\n##### Step 0: Build Pikchr command line tool\n\n(See [Pikchr/Downloads](https://pikchr.org/home/doc/trunk/doc/download.md))\n\n```bash\n$ git clone https://github.com/drhsqlite/pikchr\n$ cd pikchr\n$ gcc -DPIKCHR_SHELL -o pikchr pikchr.c -lm # build the pikchr command-line tool\n```\n\n##### Step 1: Run pikca4\n\n```bash\n$ python main.py -h\n\nusage: g4 To pikchr [-h] [-g GRAMMAR] [-op OUTPUTPIKCHR] [-os OUTPUTSVG]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -g GRAMMAR, --grammar GRAMMAR\n                        path of the g4 grammer file\n  -op OUTPUTPIKCHR, --OutputPikchr OUTPUTPIKCHR\n                        pikchr file folder path\n  -os OUTPUTSVG, --OutputSVG OUTPUTSVG\n                        svg file folder path\n# Example: *.pikchr files will be generated in `generated` at the project root dir\n$ python src/main.py -g SQLiteParser.g4\n```\n\n##### Step 2: Run Pikchr command line tool\n\n```bash\n$ pikchr\nusage: pikchr [OPTIONS] FILE ...\nConvert Pikchr input files into SVG.  Filename \"-\" means stdin.\nOptions:\n   --dont-stop      Process all files even if earlier files have errors\n   --svg-only       Omit raw SVG without the HTML wrapper\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenentech%2Fpikca4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenentech%2Fpikca4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenentech%2Fpikca4/lists"}