Skip to content

Advanced WinForms drawing app in C# with a custom parser for user commands, enabling variable assignment and dynamic shape generation based on parsed commands.

Notifications You must be signed in to change notification settings

aryanprince/Lexical-Interpreter-Engine

Repository files navigation

Lexical Interpreter Engine

image

C# .Net Visual Studio GitHub Actions

A .NET C# WinForms application that takes lexical tokens from a specially-tailored domain-specific language and visually translates them into geometric designs drawn on a canvas

Built part of the Advanced Software Engineering course at Leeds Beckett University

CI Build and Test

Test Code for Program

var x = 50
triangle x
var y = 125
var x = x + 20
rectangle x y
pen 3
if x > 25
  var x = x + 25
  square x
endif
pen 2
while 3
  var y = y + x
  circle y
endwhile
fill 1
pen 1
move x y
triangle y
var x = 250
move x x
rectangle x x

Continous Integration (CI) Workflows

This project leverages GitHub Actions to implement 5 distinct CI workflows, optimizing the entire development process.

CI Build and Test - Automatically builds and tests code for quality assurance.

PR Validator - Checks PR names for consistency and style.

PR Labeler - Assigns labels to PRs based on file changes.

Add Issue To Project - Automatically adds issues to the active project.

Assign Author to Issue/PR - Tags issues and PRs with the author’s name.

Naming Conventions

Hungarian Notation is used for WinForms controls, and PascalCase is used for almost everything else.

How to Run

  1. Clone the repo
  2. Open the solution in Visual Studio
  3. Build the solution
  4. Run the program
  5. Enjoy!

About

Advanced WinForms drawing app in C# with a custom parser for user commands, enabling variable assignment and dynamic shape generation based on parsed commands.

Topics

Resources

Stars

Watchers

Forks

Languages