みどりねこ日記

よくわからないけど、頑張りますよ。

構文メモ

関数型言語

<ラムダ式> ::= <変数> | <ラムダ式> <ラムダ式> | λ <変数> . <ラムダ式> | ( <ラムダ式> )
<関数定義> ::= ( <関数名> <ラムダ式> )

論理型言語

<論理式> ::= <リテラル> | <論理式> -> <論理式> | <論理式> ∧ <論理式> | <論理式> ∨ <論理式> | ∀ <変数> <論理式> | ∃ <変数> <論理式>
<リテラル> ::= <述語> | ¬ <述語>
<述語> ::= <述語名> ( <項> {, <項> }* )
<項> ::= <定数> | <変数名> | <関数名> ( <項> {, <項> }* )
<節> ::= { ∀ <変数名> }* <リテラル> { ∀ <リテラル> }*

命令型言語

<文> ::= <代入文> | <制御文> | <名前> : <文> | begin <文>* end
<制御文> ::= <条件文> | <繰り返し文> | <ジャンプ文>

<if 文> ::= if <式> <文>
<if-else 文> ::= if-else <式> <文> <文>
<while 文> ::= while <式> <文>
<for 文> ::= for ( <式> ; <式> ; <式> ) <文>