Skip to content

TODOs #1

@CrackAndDie

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions