Skip to content

kegrimes/System-Software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Systems-Software

Created 4 projects in COP3402, Systems Software: virtual machine, lexical analyzer, tiny P/L machine, and compiler

Overview:

In order to translate high level languages - like Java, Python, and C - into machine code for computers to process and understand what tasks it needs to execute, the source code must go through an entire process. It begins with entering the compiler which will translate these higher level languages into assembly code, a low-level programminmg language. The four projects contained in this repository demonstrate this process...

  1. VM (Virtual Machine) --> This project is separate from the rest because this reads assembly language programs.
  2. Lexical Analyzer
  3. Tiny P/L Machine
  4. Final Compiler

Projects 2-4 build off each other however, in order to meet specific criteria for the course, the EBNF grammar1 used differs in all 3.

*NOTE: There is a README file contained in each project to help explain the functionality of that specific step in the compiler process!

Definitions:

EBNF Grammar1 = Extended Backus-Naur form grammar expresses a defined language which, in this case, is for a programming language. It is used to check if a program's syntax is valid or not.

About

Created 4 projects in COP3402: virtual machine, lexical analyzer, tiny P/L machine, and compiler

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages