Skip to content

Joseph-Sailor-Usher/CS-441-Parser

Repository files navigation

Simple Imperative Language Parser

This project implements a parser for a simple imperative programming language using Racket. It is designed to demonstrate basic concepts of programming language design, including parsing, tokenization, and the evaluation of expressions and statements. The parser supports conditional statements, assignments, arithmetic expressions, and subroutine calls.

Features

  • Parsing Expressions: Supports identifiers, numbers, and proper use of parentheses for precedence.
  • Handling Statements: Includes assignments, conditional statements (if-then), input/output operations (read, write), and control flow changes (goto, gosub, return).
  • Tokenization: Recognizes and categorizes keywords, symbols, and operators for parsing.
  • Line-by-Line Evaluation: Processes each line of the input file separately.

Prerequisites

  • Racket programming language: Make sure you have Racket installed on your system. You can download it from https://racket-lang.org/.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages