Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

backend support tasks #35

Open
21 of 44 tasks
ct-clmsn opened this issue Apr 11, 2023 · 0 comments
Open
21 of 44 tasks

backend support tasks #35

ct-clmsn opened this issue Apr 11, 2023 · 0 comments
Assignees

Comments

@ct-clmsn
Copy link
Owner

ct-clmsn commented Apr 11, 2023

these lists are a work in progress (subject to change)

passes

  • symbol table
  • program construction
  • program validation (validate w/type checking)
  • code generation

variable declaration with/without value initialization

  • scalar int, string, cstring, real declaration
  • array int, string, cstring, real declaration
  • multi-dimensional array int, string, real
  • scalar initialization declaration
  • array initialization declaration
  • multi-dimensional array initialization w/range
  • multi-dimensional array initialization w/domain
  • config, ref, const etc variables
  • domain declaration w/initialization
  • associative domain declaration w/initialization
  • distributed domain support

expressions

  • literal + variable + function call binary expressions (=, +, -, /, *, etc)
  • function calls (argument lists included) w/binary expressions as arguments
  • array access w/binary expressions
  • multi-dimensional array access w/binary expressions as index logic
  • casting types

function support (user defined)

  • function declarations
  • function definitions
  • variable declaration support with/without value initialization
  • first class functions/lambdas
  • iterable functions (generator functions)

control flow

  • function calls (w/argument lists)
  • for loops (for, forall)
  • conditionals (if, if-else, else, etc)
  • on
  • begin, cobegin
  • coforall
  • zip
  • do
  • locales (user defined types)

integral type support

  • array methods
  • string methods
  • associative array methods
  • byte methods
  • string (utf8) / c_string support
  • template functions, user defined types, etc
  • tuples

user defined types

  • class support (member variables, methods)
  • record support (member variables, methods)

module support

  • import statement
@ct-clmsn ct-clmsn self-assigned this Apr 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant