Skip to content

Instantly share code, notes, and snippets.

@vihanb
Last active February 19, 2018 08:26
Show Gist options
  • Save vihanb/618e1ffe5383b22fb3d74b927b2cb046 to your computer and use it in GitHub Desktop.
Save vihanb/618e1ffe5383b22fb3d74b927b2cb046 to your computer and use it in GitHub Desktop.
VSL Compilation Steps

Dependency Resolution

  1. Resolve functions
  2. Resolve classes

Module

  1. TTY process target
  2. Module Resolution
  3. Module Analysis
  4. Compilation Group construction
  5. STL Compilation Group construction
  6. STL Compilation Index construction
  7. STL Module construction
  8. Compilation Index construction
  9. STL Module hooked to Compilation Index
  10. Compilation Index initiated
  11. STL Parsing
  12. Compilation Context analysis
  13. STL Type listing
  14. STL Type dependency resolution
  15. STL Type resolution
  16. Compilation Group parsing
  17. Compilation Group Type listing
  18. Compilation Group Type dependency resolution
  19. Compilation Group Type resolution
  20. Compilation Group LLVM generation
  21. LLVM IR generation
  22. TTY process warnings
  23. TTY display IR

Type Resolution

  1. Type deduct expressions
  2. Type deduct assignment

Type Listing

  1. Verify function scopes in class
  2. Verify valid annotations
  3. Analyze @primitive
  4. Analyze @_mockType
  5. Preprocess class declarations
  6. Preprocess function declarations
  7. Preprocess typealias
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment