Description
Little Lang is a simple, yet powerful programming language designed with a custom compiler and a set of essential tools. It supports various programming constructs, making it suitable for learning and experimenting with compiler design.
Role
Maintainer
Techstack
C
Makefile
Features
Language Capabilities
Supports basic operations like addition, subtraction, multiplication, division, and modulus, making arithmetic computations straightforward.
Allows defining and calling functions with typed parameters, promoting structured programming practices.
Includes if statements, for-loops, and while-loops to provide versatile control flow capabilities.
Enables array manipulation for working with collections of data, making it suitable for a variety of use cases.
Provides support for variable declarations and assignments with clear syntax for better code readability.
Supports inline and block comments, allowing developers to document their code effectively.
Setbacks
Obstacles Faced
Handling operator precedence and type checking for mathematical operations required careful design and debugging.
Implementing control flow constructs like loops and conditions involved creating a robust syntax tree and ensuring accurate parsing.
Implementing array functionality, including memory allocation and type consistency, was more complex than anticipated.
Reflections
Insights Gained
Developing Little Lang provided hands-on experience with parsing, tokenization, and syntax tree generation, deepening my understanding of compiler design.
Striking a balance between adding new features and maintaining the language’s simplicity taught valuable lessons in project scope management.
Debugging the compiler to ensure accurate error reporting and functional execution improved my problem-solving and debugging skills.
Github Page
Github Page
Not Available
Like what you see?
Get in touch
Inspired by ishanipandey