Skip to content

Latest commit

 

History

History
14 lines (14 loc) · 1.27 KB

File metadata and controls

14 lines (14 loc) · 1.27 KB
  • We're building a compiler for a new language called bishop. It's more of a c++ transpiler because we will be lexing, parsing, but our features will be implemented in c++, but the user uses the nicer, more elegant bishop syntax.
  • We're basically building an asbtraction over C++. We're taking the best things from c++ and giving it nice syntax.
  • We're writing production quality code
  • Use the Makefile in the root of the project for build and test
  • before every action it is required to read tests/ so that we know each variability of the language so that we implement each feature correctly. Every possible combination of features must be implemented and tested.
  • when you write if or while statments, put a line of space on each side that has other logic
  • all c++ code requires docstrings
  • language features should be logically separated by purpose. (e.g. src/typechecker/strings.cpp)
  • we wrote pythonic code and our language and standard libraries should be easy and intuitive to the user
  • readability is of utmost importance
  • when adding or modifying language features, update the Bishop Language Reference in README.md
  • read README.md for the full Bishop Language Reference
  • AST nodes require the line number to be set
  • returning empty values instead of proper errors is usually not ok