Skip to content

A toy language implementation to learn/play-with programming language design, compiler architectures, byte code generation, virtual machines and byte code interpretation, byte-code to assembly conversion, and optimizing compiler techniques.

Notifications You must be signed in to change notification settings

kestred/philomath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phi (.φ) - Philomath

Phi is a toy programming language that was built to teach myself more about compiler architecture, byte-code generation, virtual machines, assembly, and optimizing-compiler techniques.

The code architecture is briefly described in the implementation doc.

What does it do?

Phi was intended as both an interpreted and compiled language, but only the interperter was implemented.

See the example which demonstrates (most of?) the functionality that was implemented:

  • Basic conditional control flow
  • Basic procedure/function invocation
  • Inline GNU Assembly code with JIT execution
    • (a.k.a.) a humorous substitute for a missing standard library 😁;
      perhapy the only cool (☃️) language feature.

Public Domain

To the extent possible under law, I waive all copyright and related or neighboring rights to Philomath.

Public Domain

About

A toy language implementation to learn/play-with programming language design, compiler architectures, byte code generation, virtual machines and byte code interpretation, byte-code to assembly conversion, and optimizing compiler techniques.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages