Skip to content

Milestone 2

VladD2 edited this page Jan 14, 2017 · 5 revisions

Parser - done

  • Dynamic extensibility (like Nemerle)
  • Extensible priority tables (to use named priority table instade of binding power constants)

Type system - done

  • AST
    • AST DSL - The "declaration" and the "ast" syntax constructions.
    • Mapping: Parse Tree -> AST
    • Dependent Properties Language - language for collecting data on AST (analogue of attribute grammar).

Symbols - done

  • Declaring. Symbols are declared inside (as part of) "declaration".
  • Dependent properties (analogue of attribute grammar).
  • Dependent methods
  • Dependent (staged) types
  • Names binging

Scopes - done

  • Binging
  • Resolve API

IDE support API - done

  • Symbols highlighting
  • Error highlighting
  • Go to definitions
  • Find all references
  • Keyword completion
  • Symbol completion

Projects and solutions - done

  • Client/Server IDE Engine - done
  • Visual Studio plug-in generation - done
  • Support Nitra driven languages (files) in VS solution/projects - done

Bootstrapping - in the work

  • Move typing of Nitra on Dependent Properties - in the work
  • Move code generation on new Nitra Symbols - in the work

Completing this phase means we can do the following:

  • Implement semantic analisis (typing) engine.
  • Implement IDE support for Nitra powered languages.