prg-titech / pbatakjava

Version polymorphic implementation of BatakJava
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Implementing parser for polymorphic version #1

Closed ansharlubis closed 1 year ago

ansharlubis commented 1 year ago
  1. Added version number to class headers

    class C ver 1 {}
  2. Added version variables to the class, method header. It's annotated with reverse angle brackets:

    class C ver 1 >V< {
    >W< m() { ... }
    }
  3. Added version arguments for type instances:

    C c = new C>V<();    // version arguments
    new D#W#();          // version binding
    new E#V#>W<();
    c.>V<m();            // method call with version argument