Skip to content

Amila-Rukshan/chocopy

Repository files navigation

This tree is to implement ChocoPy language using LLVM compiler infrastructure.

ChocoPy v2.2

See chocopy.pdf for a full description of ChocoPy language with Type Checking and Operational Semantics.

Related content

Blog posts

How to run?

A Dev container is setup for linux OS with the llvm dependancies. Just open the project in VSCode and from the Debug window, run Debug ChocoPy.

TODOS

  • Lexing
  • Parsing
  • Classes, methods and attributes (with default values)
  • \_\_init\_\_ method (aka class constructor) to initilize attributes
  • Method calling with dynamic dispatch
  • Builtin 'print' function
  • Builtin 'str' type
  • Complete type checking
  • Control flows - if-elif-else, while and for
  • Binary and unary oprations for int, bool and str types
  • List data type support
  • Nested functions with closures

Releases

No releases published

Packages

 
 
 

Contributors

Languages