[nem-pl] Rozszerzenia składniowe

Kamil Skalski nazgul at nemerle.org
Tue Jun 22 18:21:42 CEST 2004


Ok, to dziś wymyśliliśmy jak możnaby pisać rozszerzenia składniowe. Jest kilka 
problemów, ale o tym niżej. Najpierw opis:

pisałoby się w jakimś namespacie (którego załadowanie przez using włączaoby 
dane rozszerz. składniowe)
takie coś

syntax {
   | ("if", "(", cond, ")", e1) =>
       syntax {
           | (";", "else", e2) 
           | ("else", e2) =>
               ifmacro (cond, e1, e2)
           | _ => 
               ifmacro (cond, e1, null) 
       }
  | ("for", "(") =>
     ...
}

można się jeszcze np. dodać możliwość wywoływania tam gdzieś funkcji 
dostarczonych przez użytkownika... choć nie wiem czy to dobry pomysł.

Problem jednak jest z rozszerzeniami składniowymi dla metdo, klas, które 
chcieliśmy też mieć.
Może pisać
syntax (aftermethod) {
   | ("requires", cond) =>
       Requires (cond)
}

Kamil




More information about the devel-pl mailing list