まず,現在のパターンでどのような疑似コードが定義されているか, 「デザインパターン」の中のものについて調べた結果を. 疑似コード一覧に示す. この一覧の特徴は,関数には基本的に
以上のようなことを踏まえて下のような簡易記述言語を設計した. 疑似コードの設計方針は次のようなものである.
そして,具体的な演算子は必要ないとした.
例えば,Iterator Pattern の
ConcreteAggregate::CreateIterator()
では,
<pseudocode> return new "ConcreteIterator" ( "this" ) </pseudocode>のようになる.
statements:
statement
| statements statment
;
statement:
method_call
| if_statement
| forall_statement
| return_statement
| assign_statement
| dummy_statement
;
method_call:
method
| Identifier . method
| Identifier :: method
| constructor_call
;
constructor_call:
new method
| new Identifier :: method
;
method:
Identifier ( )
| Identifier ( args )
;
args:
Identifier
| Identifier , args
;
if_statement:
if ( condition ) { statements }
| if ( condition ) { statements } else { stetements }
;
forall_statement:
forall Identifier in Identifier { statements }
;
condition:
Dummy
;
dummy_statement:
Dummy
;
return_statement:
return method_call
| return Identifier
;
assign_statement:
Identifier = Identifier
| Identifier = method_call
;