{"id":20302494,"url":"https://github.com/charlesaverill/ecco","last_synced_at":"2025-04-11T13:42:29.251Z","repository":{"id":73326794,"uuid":"568617615","full_name":"CharlesAverill/ecco","owner":"CharlesAverill","description":"An Educational C COmpiler written in Python, written for use in my Practical Compiler Design course","archived":false,"fork":false,"pushed_at":"2023-04-26T19:06:07.000Z","size":338,"stargazers_count":12,"open_issues_count":0,"forks_count":9,"subscribers_count":3,"default_branch":"project_base","last_synced_at":"2025-03-25T09:52:57.419Z","etag":null,"topics":["c","compiler","compiler-design"],"latest_commit_sha":null,"homepage":"https://www.charles.systems/PCD","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CharlesAverill.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-11-21T03:14:18.000Z","updated_at":"2023-05-06T13:24:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"fef39cf5-f53f-467e-965a-ad6911a2f3ce","html_url":"https://github.com/CharlesAverill/ecco","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesAverill%2Fecco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesAverill%2Fecco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesAverill%2Fecco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesAverill%2Fecco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CharlesAverill","download_url":"https://codeload.github.com/CharlesAverill/ecco/tar.gz/refs/heads/project_base","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248410834,"owners_count":21098780,"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":["c","compiler","compiler-design"],"created_at":"2024-11-14T16:31:53.860Z","updated_at":"2025-04-11T13:42:29.228Z","avatar_url":"https://github.com/CharlesAverill.png","language":"Python","readme":"# ecco\nAn `Educational C COmpiler` written in Python, written for use in my Practical Compiler Design course.\n\n## Installation\n\nA Docker image is provided for non-Linux users, although usage of Linux to proceed through this course is strongly encouraged for many unrelated reasons.\n\n1. Download the git repository:\n    ```bash\n    git clone https://github.com/CharlesAverill/ecco.git\n    cd ecco\n    ```\n### With Docker\n\n2. Install Docker:\n    - [Windows](https://docs.docker.com/docker-for-windows/install/)\n    - [Mac](https://docs.docker.com/docker-for-mac/install/)\n    - [Linux](https://docs.docker.com/install/linux/docker-ce/ubuntu/)\n\n3. Build the base image:\n    ```bash\n    ./scripts dbuild\n    ```\n\n### Without Docker\n\n2. Install [poetry](https://python-poetry.org/)\n    ```bash\n    python3 -m pip install poetry\n    ```\n\n3. Install project dependencies\n    ```bash\n    poetry install\n    ```\n\n## Development Usage\n\nThe [scripts](./scripts) file contains commands to run the `ecco` compiler inside and outside of the Docker image.\n\n- `./scripts dbuild` - Build the Docker image\n- `./scripts drun` - Run the compiler within the Docker image built with `./scripts dbuild`\n- `./scripts dbuildrun` - Build and run the Docker image and compiler\n- `./scripts run` - Runs the compiler with [poetry](https://python-poetry.org/)\n- `./scripts install` - Installs your compiler with the default `pip` \n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharlesaverill%2Fecco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcharlesaverill%2Fecco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharlesaverill%2Fecco/lists"}