{"id":29112799,"url":"https://github.com/ayush-2404/c-to-arm_compiler","last_synced_at":"2026-04-10T22:49:34.590Z","repository":{"id":296191808,"uuid":"991919718","full_name":"Ayush-2404/C-to-Arm_Compiler","owner":"Ayush-2404","description":"CrossCraft: ARM Edition is a C to ARM cross-compiler that converts C source code into optimized ARM assembly instructions for embedded systems. The project features a modular Python backend for compiling and a React-based frontend for an interactive UI. It supports standard C features, offers an extensive test suite, and integrates with GCC.","archived":false,"fork":false,"pushed_at":"2025-06-06T07:49:26.000Z","size":3584,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-29T11:04:30.217Z","etag":null,"topics":["arm64","assembly-language","c","compiler","crosscompiler","devlopment","python"],"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/Ayush-2404.png","metadata":{"files":{"readme":"README.md","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,"zenodo":null}},"created_at":"2025-05-28T10:49:51.000Z","updated_at":"2025-06-12T18:17:37.000Z","dependencies_parsed_at":"2025-05-29T12:56:01.301Z","dependency_job_id":null,"html_url":"https://github.com/Ayush-2404/C-to-Arm_Compiler","commit_stats":null,"previous_names":["ayush-2404/c-to-arm_compiler"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ayush-2404/C-to-Arm_Compiler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayush-2404%2FC-to-Arm_Compiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayush-2404%2FC-to-Arm_Compiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayush-2404%2FC-to-Arm_Compiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayush-2404%2FC-to-Arm_Compiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ayush-2404","download_url":"https://codeload.github.com/Ayush-2404/C-to-Arm_Compiler/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ayush-2404%2FC-to-Arm_Compiler/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262581283,"owners_count":23331910,"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":["arm64","assembly-language","c","compiler","crosscompiler","devlopment","python"],"created_at":"2025-06-29T11:04:42.905Z","updated_at":"2026-04-10T22:49:34.581Z","avatar_url":"https://github.com/Ayush-2404.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CrossCraft: ARM Edition\nC to ARM Cross Compiler\nLink to Cross Compiler: [https://68d3df57fe8fbe24bdd397ef--crosscompiler.netlify.app/]\n\n## Introduction\nThe C to ARM Cross Compiler project is a comprehensive tool designed to compile C source code into ARM assembly instructions. It facilitates efficient development for embedded systems by bridging the gap between high-level C programming and low-level ARM machine code generation. This project leverages Python for backend compiler components and a modern React-based frontend for an interactive user interface.\n\n## Project Overview\nThis cross-compiler translates C code into ARM machine code, enabling developers to build applications optimized for ARM-based embedded devices. Its modular design, user-friendly interface, and comprehensive testing framework make it a robust solution for both learning and real-world applications in embedded system development.\n\n## Features\n- Supports standard C language features.\n- Modular backend architecture including lexer, parser, semantic analysis, and code generation.\n- Generates optimized ARM assembly code.\n- Interactive frontend built with React and Tailwind CSS.\n- Command-line API powered by Flask for backend communication.\n- Comprehensive test suite covering lexical, syntactic, and semantic analysis.\n- Sample input programs included for testing and demonstration.\n\n## Technologies Used\n\n| ![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white) | ![React](https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB) | ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white) | ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black) |\n|---|---|---|---|\n| ![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-06B6D4?style=for-the-badge\u0026logo=tailwind-css\u0026logoColor=white) | ![GCC](https://img.shields.io/badge/GCC-D31D00?style=for-the-badge\u0026logo=gnu\u0026logoColor=white) | ![Git](https://img.shields.io/badge/Git-F05032?style=for-the-badge\u0026logo=git\u0026logoColor=white) | ![GitHub](https://img.shields.io/badge/GitHub-181717?style=for-the-badge\u0026logo=github\u0026logoColor=white) |\n\n- Python (compiler logic)\n- Flask (backend API)\n- React and TypeScript (frontend UI)\n- Tailwind CSS (frontend styling)\n- GCC (ARM compiler tools)\n- Git \u0026 GitHub (version control)\n- Virtual Environment (dependency isolation)\n\n## Project Structure\n```text\n├── Backend/ # Python backend source code and compiler modules \n│ ├── compiler.py \n│ ├── modules/ \n│ ├── input/ # Sample C input programs \n│ ├── output/ # Generated output files \n│ ├── tests/ # Test cases and expected outputs \n│ └── app.py # Flask app entry point \n├── Frontend/ # React frontend source code \n│ ├── src/ \n│ ├── index.html \n│ └── package.json \n├── .venv/ # Python virtual environment \n├── README.md # Project documentation \n└── ...\n```\n\n## Compilation Workflow\n1. Write or use existing C source files from the `Backend/input/` directory.\n2. Use the backend compiler modules to tokenize, parse, and perform semantic analysis.\n3. Generate intermediate representation (IR) and convert it to ARM assembly code.\n4. Compile generated assembly using ARM GCC toolchain.\n5. Test generated binaries on ARM hardware or emulators.\n\n## How to Run\n\n### Clone Repo \n```bash\n  git clone \u003chttps://github.com/Ayush-2404/C-to-Arm_Compiler.git\u003e\n  cd project-root\n```\n\n### Backend\n1. Create and activate the virtual environment:\n#### Create virtual environment\n```bash\npython -m venv .venv\n```\n\n#### Activate virtual environment\nOn Linux/Mac:\n```bash\nsource .venv/bin/activate\n```\n\nOn Windows (Command Prompt):\n```bash\n.venv\\Scripts\\activate\n```\n\nOn Windows (PowerShell):\n```bash\n.venv\\Scripts\\Activate.ps1\n```\n\n2. 2. Install required dependencies:\n\n```bash\n  pip install -r requirements.txt\n```\n\n3. Run the Flask backend server:\n\n```bash\n  python app.py\n```\n\n### Frontend\n1. Navigate to the Frontend directory: \n\n```bash\n  cd Frontend\n```\n\n2. Install frontend dependencies:\n\n```bash\n  npm install\n```\n\n3. Start the development server:\n\n```bash\n  npm run dev\n```\n\n4. Open the browser and visit `http://localhost:3000` to access the UI.\n\n## Testing\nTests are available in the `Backend/tests/` directory. Run the backend test script to validate functionality:\n\n```bash\n  python run_tests.py\n```\n\n## Acknowledgments\n- GNU Compiler Collection (GCC)\n- React and Tailwind CSS communities\n- Python open source ecosystem\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayush-2404%2Fc-to-arm_compiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayush-2404%2Fc-to-arm_compiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayush-2404%2Fc-to-arm_compiler/lists"}