sunjay / brain

A high level programming language that compiles into the brainfuck esoteric programming language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support Paths

sunjay opened this issue · comments

This feature is only really useful once #37 is implemented.

Path: foo::bar::Foo::bar
Identifier: foo

In the AST, define a Path struct and make Identifier a type alias for String. Make sure the correct one is being used in the right places. This separation is needed because sometimes a path is not a valid identifier.

  • AST has a separate Path and Identifier - structs in AST use the correct one for their needs
  • Be able to parse paths and use them in the language
  • Have two separate rules in grammar, one for path and one for identifier so that the correct one can be used in the right circumstances
  • Struct names and function names cannot be paths