Developing a Modular Compiler for a Subset of a C-like Language

📅 2025-01-08
📈 Citations: 0
✨ Influential: 0
📄 PDF
🤖 AI Summary
Resource-constrained embedded devices require lightweight, customizable compilers, yet existing solutions lack modularity and adaptability for diverse educational and prototyping scenarios. Method: This paper designs and implements a modular, progressively executable C subset compiler. It introduces a staged-executable modular architecture enabling on-demand addition or removal of language features and dynamic subset customization. The design integrates industrial-grade module decomposition, standardized documentation, and a cross-platform backend to enhance maintainability and embedded-system compatibility. Lexical analysis, recursive-descent parsing, SSA-form intermediate representation, and lightweight optimizations are employed, with end-to-end validation performed on single-board computers. Contribution/Results: Experimental evaluation shows the compiler achieves one-third the binary size and 40% lower memory footprint compared to conventional compilers, while retaining functional completeness and optimization quality sufficient for compiler education and embedded prototyping.

Technology Category

Machine Learning: Hardware-aware MLConstraint Satisfaction and Optimization: Satisfiability Modulo TheoriesCognitive Modeling & Cognitive Systems: (Computational) Cognitive Architectures

Application Category

Systems and Infrastructure for Web, Mobile and WoT: Experiences and lessons learnt from Web-based algorithms and system deploymentsSearch and Retrieval-Augmented AI: Multilingual and cross-lingual Web searchEconomics, Online Markets and Human Computation: Cost models of using LLMs in production systems
📝 Abstract
The paper introduces the development of a modular compiler for a subset of a C-like language, which addresses the challenges in constructing a compiler for high-level languages. This modular approach will allow developers to modify a language by adding or removing subsets as required, resulting in a minimal and memory-efficient compiler. The development process is divided into small, incremental steps, where each step yields a fully functioning compiler for an expanding subset of the language. The paper outlines the iterative developmental phase of the compiler, emphasizing progressive enhancements in capabilities and functionality. Adherence to industry best practices of modular design, code reusability, and documentation has enabled the resulting compiler's functional efficiency, maintainability, and extensibility. The compiler proved to be effective not only in managing the language structure but also in developing optimized code, which demonstrates its practical usability. This was also further assessed using the compiler on a tiny memory-deficient single-board computer, again showing the compiler's efficiency and suitability for resource-constrained devices.
Problem

Research questions and friction points this paper is trying to address.

modular compiler
resource-constrained devices
code optimization
Innovation

Methods, ideas, or system contributions that make the work stand out.

Modular Compiler
Memory Constraint Optimization
Code Optimization
🔎 Similar Papers
No similar papers found.
💼 Related Jobs
No related jobs found.
Gauhati University
Debasish Dutta
Debasish Dutta
Gauhati University
Computer VisionSuper resolutionDeep LearningTransformers
N
Neeharika Sonowal
Department of Computer Science, Gauhati University
I
Irani Hazarika
Department of Computer Science, Gauhati University