Skip to content

OurC is a simplified but slightly extended C language. It has five primitive data types (int, float, char, bool, and string), one-dimensional array, and no struct or enum. There are function calls, compound statements, conditional constructs (if-then-else) and loop constructs (while-loop and do-while loop).

Notifications You must be signed in to change notification settings

PBoy20511/a-tiny-C-Interpreter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Our C Project Comprehensive Overview

Introduction

Recursive Descent Parsing is a compiler technique for analyzing and processing programming languages. It decomposes a language's grammar into smaller parts, parsing these components recursively to understand the syntax.

Our project presents "Our C", a simplified subset of the C language, aimed at facilitating learning of fundamental programming concepts. Despite its simplicity, it maintains key features of C.

The goal of this project is to develop an interpreter for "Our C" using C++ and Recursive Descent Parsing. This approach allows us to interpret "Our C" code effectively, providing a useful tool for educational purposes in programming.

Our C Grammar

Overview

This section is dedicated to the grammar and syntax of Our C, a unique language developed for this project. It goes beyond basic programming concepts, introducing learners to the nuances of language design.

Key Features

  • Syntax Rules: Detailed explanation of the syntax, focusing on the structure and rules that govern the language.
  • Lexical Conventions: Exploration of the lexical elements of Our C, including tokens, identifiers, and other fundamental components.

Project 1: Foundations of Our C

Objective

Introduce the foundational concepts of the Our C language, focusing on basic operations and data types. This stage is designed to familiarize learners with the core aspects of the language.

Content

  • Basic Data Types: Understanding primitive data types and their operations.
  • Control Structures: Introduction to if-else statements, loops, and basic control flow mechanisms.
  • Functions: Basics of function declaration and invocation.

Project 2: Intermediate Concepts

Objective

Expand on the basic concepts introduced in Project 1, introducing more complex structures and intermediate features of the language.

Content

  • Advanced Data Structures: Introduction to arrays, structures, and linked lists in Our C.
  • Intermediate Operations: Detailed exploration of operations including sorting algorithms, searching techniques, and data manipulation.
  • Error Handling: Basic concepts of error detection and handling in Our C.

Project 3: Advanced Applications

Objective

Implement advanced features and explore comprehensive applications of the Our C language. This project is the culmination of the learning experience, focusing on robust applications and complex problem-solving.

Content

  • Advanced Language Features: Detailed exploration of advanced concepts like pointers, dynamic memory allocation, and file handling.
  • Comprehensive Applications: Development of complex applications that demonstrate the full capabilities of Our C.
  • Debugging and Optimization: Techniques for efficient code debugging and performance optimization.

Conclusion

The Our C project is a comprehensive educational journey through the world of programming language design and functionality. It offers learners a unique opportunity to delve deep into the aspects of creating and understanding a programming language, equipping them with both theoretical knowledge and practical skills.

Additional Resources

  • Sample Code: Examples of basic and advanced code written in Our C.
  • Documentation: In-depth documentation of the language's features and functionalities.
  • Community Forum: A platform for discussion, queries, and sharing insights related to the Our C language.

About

OurC is a simplified but slightly extended C language. It has five primitive data types (int, float, char, bool, and string), one-dimensional array, and no struct or enum. There are function calls, compound statements, conditional constructs (if-then-else) and loop constructs (while-loop and do-while loop).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages