Skip to content

My first attempt to write a programming language. Written in C with custom lexer and parser and LLVM backend.

License

Notifications You must be signed in to change notification settings

davidgmbb/redflag

Repository files navigation

redflag

TODO LIST

Feature list to implement

  • Arrays
  • Structs
  • Enums
  • Pointers
  • else if
  • for
  • switch
  • Global variables
  • Implemented signed and unsigned types
  • Strings
  • Size directive
  • [-] Modules
  • Libraries
  • Debug information
  • Operator precedence / parenthesis expressions
  • Implement directives (importing modules, libraries, etc.)
  • Fusion parser and IR and create a true IR
  • defer
  • create language native complex types
  • Unions

URGENT PRIORITY

NORMAL PRIORITY

  • Fix char and string literals lexing
  • Expression vs statement, block vs compound statement
  • Function body is compound statement
  • Amplify function calling
  • Provide sense of scope
  • Symbol types are values
  • Array-based parser (bunch of nodes in dynamic arrays, indices as pointer to node). Profile gains
  • rework reallocation. If there is enough space ahead of the allocated space, just modify block metadata (amplify allocation boundaries) and don't copy already existent data
  • when doing standard library, redesign memcpy/memcmp so they are all safe and check size on BOTH ends

About

My first attempt to write a programming language. Written in C with custom lexer and parser and LLVM backend.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published