Skip to content

cseberino/pylayers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pylayers teaches people about the compilation and execution of computer programs
using Python. The computer programs are in a simple high level language that is
similar to Python.

Compilation can be understood as converting source code to intermediate code,
then to assembly code, and finally, to machine code. Each of these compilation
stages can be pictorially represented by different layers:

Computers only execute machine code. Computer programs referred to as
interpreters however can execute or "interpret" intermediate code.

Pylayers teaches about these and numerous other related topics, all with working
Python code, including: intermediate code generators, assembly code generators,
machine code generators (assemblers), grammars, tokenizers, tokens, parsers,
productions, abstract syntax trees, registers, instruction sets and more. An
extensively documented simple compiler, interpreter and computer all implemented
in Python are provided.

Pylayers is a unified and comprehensive educational system that tries to teach
fundamental concepts as easily as possible. It does not attempt to be practical
and fast, but rather, simple and elegant.

I hope you find Pylayers useful. I the author, Dr. Christian Seberino, welcome
all questions, comments and suggestions.

About

educational tool teaching software compilation, interpretation and execution with Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages