{"id":16165128,"url":"https://github.com/aixp/pycoco","last_synced_at":"2025-07-08T11:07:08.452Z","repository":{"id":61122534,"uuid":"2189604","full_name":"aixp/pycoco","owner":"aixp","description":"Python implementation of the famous Coco/R LL(k) compiler generator","archived":false,"fork":false,"pushed_at":"2023-02-13T18:44:15.000Z","size":472,"stargazers_count":6,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-02T20:04:30.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aixp.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2011-08-11T06:45:16.000Z","updated_at":"2022-10-09T18:15:39.000Z","dependencies_parsed_at":"2024-10-27T19:18:12.020Z","dependency_job_id":"ebef2c22-b346-4a21-9079-d71873f97b5f","html_url":"https://github.com/aixp/pycoco","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aixp/pycoco","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aixp%2Fpycoco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aixp%2Fpycoco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aixp%2Fpycoco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aixp%2Fpycoco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aixp","download_url":"https://codeload.github.com/aixp/pycoco/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aixp%2Fpycoco/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264257676,"owners_count":23580469,"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-10-10T02:49:17.142Z","updated_at":"2025-07-08T11:07:08.432Z","avatar_url":"https://github.com/aixp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Coco/R (http://ssw.jku.at/coco/) is a compiler generator, which takes an\nattributed grammar of a source language and generates a scanner and a parser\nfor this language. The scanner works as a deterministic finite automaton.\nThe parser uses recursive descent. LL(1) conflicts can be resolved by a\nmulti-symbol lookahead or by semantic checks. Thus the class of accepted\ngrammars is LL(k) for an arbitrary k.\n\nThere is version of Coco/R for Python language.\n\nThis is a fork of CocoPy-1.1.0rc (http://pypi.python.org/pypi/CocoPy/) of\nRonald Longo, since it unmaintained.\n\n\n!!!PLEASE NOTE!!!\nThis distribution is a release candidate.\n\nSetup and usage information can be found in section 3 of\ndocumentation/CocoDoc.htm.  CocoDoc.htm contains everything you need to\nuse Coco for Python.\n\nThis file contains a list of the contents of the distribution and a\ndevelopment roadmap.\n\nCONTENTS OF THIS DISTRIBUTION\n\nThis distribution of Coco includes the following:\n\n   Coco root directory\n\n      The application files\n\n      Coco.py            - The main application file\n      Scanner.py         - The lexical analizer for attributed grammars\n      Parser.py          - The parser for attributed grammars\n\n      DriverGen.py       - Generates the main application\n      ParserGen.py       - Generates the parser\n      CodeGenerator.py   - Common code generation routines\n      CharClass.py       - Implementation of character classes\n      Errors.py          - Tracking and reporting errors in the source grammar\n      Trace.py           - Routines for generating trace files\n      Core.py            - Scanner generator and various support classes.\n\n      Other\n\n      setup.py           - Python distribution utilities setup script for Coco.\n      setupInfo.py       - CocoPy Version information\n      README.txt         - this file.\n\n   /documentation\n\n      license.txt        - The license agreement\n      CocoDoc.htm        - The documentation for CocoPy\n      howToBootstrap.txt - Instructions on how to bootstrap Coco (outdated)\n      DataStructurres.pdf- A description of the workings of Coco\n      pimaker.txt        - Documentation of pimaker.\n\n   /examples\n\n      Various example Attributed Grammars, not all are LL(1).\n\n   /frames\n\n      The basic Frame files.  These are template files used by the code\n      generation routines.\n\n   /sources\n\n      These are the source files needed to bootstrap CocoPy.\n\n      Coco.atg       - The grammar for the Coco language.\n      Coco.frame     - Frame file for Coco's main module.\n      Parser.frame   - Frame file for Coco's parser module.\n      Scanner.frame  - Frame file for Coco's scanner module.\n\n   /pimaker (Python Interactive Make utility)\n\n      The Python Interactive Make utility written in Coco as a practical\n      example of Coco usage.\n\n      pimaker.atg    - The grammar for a makepi.how file.\n      pimaker.frame  - The frame file for pimaker's main module.\n      pimakerlib.py  - Library of routines needed by pimaker.\n      makepi.how     - Pimaker's equivalent to a 'makefile' to bootstrap Coco.\n\n   /testSuite\n\n      The testbootstrap target in pimaker simply diffs the generated files\n      coco.py, Parser.py and Scanner.py.  If there are no differences,\n      the test passes.  However, when modifications are made to Coco.py\n      this sort of testing is not sufficient.\n\n      The suite of tests is in this directory are ported for the C#\n      implementation of Coco/R.  They test Coco/R features.  To run the\n      test suite open a command shell into the testSuite folder and execute\n      the following:\n\n         \u003e\u003e\u003e python cocopTester.py\n\n\nROADMAP\n\n   - Version numbering is tentative.\n\n\nRelease#   Goal\n--------   ------------------------------------------------------\n1.0.10b2.  Coco now bootstraps correctly.\n\n1.1.0rc.   *** Release Candidate -- Coco now successfully runs the test suite\n           from the C# implementation.\n\n1.1.1rc.   Coco now correctly parses the examples and reports all the errors\n           in the example grammars.\n\n1.1.2rc.   Code generated from examples now sucessfully loads into python\n           using 'python name.py'\n\n1.1.3rc    Code generated from examples now successfully parses input\n           and generates errors when appropriate.\n\n1.2.0.     *** Final -- No bugs reported or found for some (as yet\n           undetermined) period of time (e.g. 3 months).\n\n1.2.x.     Various bug fix releases\n\n1.3.0.     Coco is now updated to equivalence of the latest Java \u0026 C#\n           implementations.\n\n2.0.0.     *** Enhancements -- Incorporated various enhancements\n           - get rid of all the static code\n           - Improve indentation of generated code (currently much is\n             hardcoded).  Should be more flexible to user's preference.\n\n\nAs I move Coco towards a final release I also want to continuously update\nand refine the documentation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faixp%2Fpycoco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faixp%2Fpycoco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faixp%2Fpycoco/lists"}