2025-02-16 19:58:47 +01:00

1.5 KiB

Todo

Compiler

  • Tokenizer
  • Scanner
  • Functions
  • Variables
  • Error messages
  • Expression parser
  • Function calls
  • Parallel compilation
  • Syscalls
  • Variable lifetimes
  • Branches
  • Loops
  • Hexadecimal, octal and binary literals
  • Escape sequences
  • Multiple return values
  • Data structures
  • Type system
  • Dynamic libraries: Linux Mac Windows
  • Unsigned types
  • Type operator ?
  • Slices
  • Floating-point arithmetic
  • Self-hosted compiler

Library

  • Efficient memory allocator
  • Error handling
  • Multithreading: Linux Mac Windows

Keywords

  • assert
  • const
  • extern
  • else
  • for
  • if
  • import
  • loop
  • return
  • switch

Optimizations

  • Exclude unused functions
  • Constant folding
  • Constant propagation
  • Function call inlining
  • Loop unrolls
  • Assembler optimization backend

Linter

  • Unused variables
  • Unused parameters
  • Unused imports
  • Unnecessary newlines
  • Ineffective assignments

Operators

  • =, :=
  • +, -, *, /, %
  • +=, -=, *=, /=, %=
  • &, |, ^
  • &=, |=, ^=
  • <<, >>
  • <<=, >>=
  • ==, !=, <, <=, >, >=
  • &&, ||
  • !, -

Architecture

  • arm
  • riscv
  • x86

Platform

  • Linux
  • Mac
  • Windows