pp4d with Concurrent Clean
[id:lethevert:20050915:p4]
こんな感じにかけるようになってきました。
"::"で始まるところは、クラスを指定していて、"*","+","#","-"またはシンボルで始まる行は関数(メソッド)です。
また、">"で始まる行は、パラメータ指定です。
関数内関数や局所変数はwhereの後に書かれています。
::TForm1 < *JoinString -> string > lst array of string > sep ^string Result := '' for i := 0 to Length(lst) -1 Result := Result + (makeSubString) Result := Copy(Result, 1, Length(Result) - Length(sep)) where var i: Integer makeSubString -> string Result := lst[i] + sep ::TForm2 << JoinString2 -> string > lst array of Integer > sep char
virtual, overrideをクラス名の後ろに書くようにしたのだけれど、これはどこに置くのが一番いいのかな。
あ、初めての方には分からないかもしれませんから説明すると、上のコードが、Delphiのコードに変換するプリプロセッサを作っているのです。