Child pages
  • Milestone 3

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Implement support of external (outside rule bodies) Parse Tree methods.

  • Incremental parsing
  • Parameterized rules. Parameters allow you to avoid duplication of rules. - work in progress...
    Example:
    syntax Tag<Name> = "<" Name Attribute* ">" Content* "</" Name ">";
  • Preprocessor (for languages like C)
  • Preprocessor for indent based languages (like Python and Haskell)

Type system

  • Declarations/AST

    • Declarations/AST serialisation/deserialisation
  • Symbols
    • DSL for declarative defenition of typing rules and checks (for typing bodies of functions & methods)
    • Symbols serialisation/deserialisation
    • Incremental update symbol if a mapped declaration has been changed

...

  • Performace optimizations
    • Incremental parsing
    • Incremental typing
    • parsing & typing in separate thread
    • update highlightings between editing start and parsing + typing will be complited
  • Support serialisation on loading  & deserialisation on unloading for AST, declarations and symbols (to prevent parsing on a project loading)
  • API for quickfix on compiler messages
  • Code formatting
  • Miscellaneous
    • Expand/collapse selection
    • Code formatting
    • Complete statement
    • Rename refactoring

...