Skip to content

TODOs #1

Description

@CrackAndDie
  • Chars support
    • Statements like char a = 'h'; should be evaluated properly
    • Support for UNICODE chars. (how?)
  • Strings support
    • Statements like string a = "anime"; should be evaluated properly
    • Indexing (accessing chars)
    • Bound checks (disable it via settings in project)
  • Arrays support
    • Support initialization with default values
    • Indexing (accessing elements)
    • Bound checks (disable it via settings in project)
  • Main func
    • Passing string[] args to the user main func. Just post prepare argc and argv shite via forloop.
  • Statements
    • For loop
    • While loop
    • Switch case
    • If else if-else
    • Break / Continue
    • Better return statements!
  • Directives
    • #define directive
    • #if #else #endif directives
  • Modules and Usings
    • Compile multiple files into one .obj file
  • Declarations
    • Classes
    • Funcs
    • Fields
    • Lambdas
    • Tuples (also with expressions or idk, should think about it)
    • Structs
      • Accesing struct fields
    • Enums
    • Range (?)
    • Constants (real constants, not the current shite)
    • Interfaces
    • Delegates
      • Delegates of static funcs
      • Delegates of non-static funcs
    • Properties
  • Lang features
    • Generics
    • Increment (++) and decrement (--) support (needed?)
    • Getting Length and Buffer parameters from string and array
    • Indexing pointers
    • nD arrays!!! (requires parsing changes)
    • Passing OutValue through all the asts
    • Attributes in reflection data
    • External functions from C dll
    • Static funcs/classes/fields
    • Check for private/internal/public when accessing class' data
    • Static ctors
    • Allow 'break' shite inside switches (when want to leave a case earlier)
    • Check that null could not be assigned to non-nullable types
    • Do not allow non-static shite usage in field initializers
    • Pointer arithmetics
      • Operators + and - with numbers
      • intptr and ptrdiff types
    • Full inheritance support
      • From classes
      • From interfaces
  • Exceptions
    • Generating exceptions
  • Debug
    • Generating .pdbs
  • Project shite
    • Project references
    • Package references (how???)
    • Hapet assemblies references

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions