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

WIP: turn macro output into untyped AST #508

Draft
wants to merge 20 commits into
base: devel
Choose a base branch
from

Commits on Jan 1, 2023

  1. Configuration menu
    Copy the full SHA
    fdaad2c View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2023

  1. sanitizer: implement nkAccQuoted processing

    In order to be able to eventually remove `considerQuotedIdent`, the
    sanitizer does a bit more than just sanitize and evaluates identifier
    construction expressions.
    zerbina committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    4eec6a9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7637d19 View commit details
    Browse the repository at this point in the history
  3. sanitizer: consider pragmas in identdefs

    In addition, explicitly allow the type slot to be empty (`parseTypeExpr`
    is going to reject empty nodes).
    zerbina committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    9506d06 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d513b0e View commit details
    Browse the repository at this point in the history
  5. sanitizer: implement parseTry

    zerbina committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    21421d5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    71a9f11 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    830e870 View commit details
    Browse the repository at this point in the history
  8. sanitizer: implement pragma-block processing

    In addition, `process` now dispatches to `parsePragmaList` for
    processing `nkPragma`.
    zerbina committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    eee6d75 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    91c969a View commit details
    Browse the repository at this point in the history
  10. sanitizer: progress on callable definitions

    * basic processing for formal and generic parameter lists
    * lambda-like expressions work
    zerbina committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    d4d7b9b View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    6b959d4 View commit details
    Browse the repository at this point in the history
  12. sanitizer: basic implementation of parseTypeNode

    The implementation currently supports:
    * records (list, case, when)
    * enums
    * tuples
    * type-classes
    * var, ptr, ref, distinct, proc
    zerbina committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    62e950d View commit details
    Browse the repository at this point in the history
  13. sanitizer: call parseTypeNode for type expressions

    While not entirely correct (yet), doing so is better than calling
    `process`.
    zerbina committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    e4e6e96 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    bbd9feb View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    94784d9 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3013d9d View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    0df4a2c View commit details
    Browse the repository at this point in the history
  18. sanitizer: fix processing logic for nkAsmStmt

    The result is now properly initialized and `parsePragmaList` is used
    instead of the outdated `parsePragma`.
    zerbina committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    57692a6 View commit details
    Browse the repository at this point in the history
  19. vmcompilerserdes: use an nkType for object constructors

    A typed `nkEmpty` was previously put into the name slot for
    `nkObjConstr` nodes. While `semTypeNode` allows this (it likely
    shouldn't), the sanitizer does not.
    zerbina committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    7b05d95 View commit details
    Browse the repository at this point in the history