<宣言式> | {<変数宣言式>|<関数宣言式> | |
|<クラス宣言式>|<メソッド宣言式>|<秘伝宣言式>} | ||
<変数宣言式> | var <識別子> [`=' <式>] {`,' <識別子> [`=' <式>]}* `;' | |
<関数宣言式> | func <識別子> `(' [<仮引数列>] `)' <式> | |
<クラス宣言式> | class <識別子> [':' <識別子>] `{' {<メンバ宣言>}* `}' | |
<メンバ宣言> | {< private宣言>|< public宣言>|< static宣言> | |
|<メソッド宣言>|<秘伝宣言>} | ||
< private宣言> | private <識別子> { `,' <識別子> }* | |
< public宣言> | public <識別子> { `,' <識別子> }* | |
< static宣言> | static <識別子> [`=' <式>]{ `,' <識別子> [`=' <式>]}* | |
<メソッド宣言> | method {<メソッド定義列>|<クリエータ定義>} | |
<メソッド定義列> | <メソッド定義>{`,' <メソッド定義>}* | |
<メソッド定義> | <識別子> [[ `(' [<仮引数列>] `)' <式> ] | |
<クリエータ定義> | New [ `(' [<仮引数列>] `)' [ `:' `('[<式列>]`)'] <式>] | |
<秘伝宣言> | hiden <識別子> [[ `(' [<仮引数列>] `)' <式> ] | |
{',' <識別子> [`(' [<仮引数列>] `)' <式>]}*] | ||
<メソッド宣言式> | method <識別子>`::'{<外部メソッド定義>|<外部クリエータ定義>} | |
<外部メソッド定義> | <識別子> `(' [<仮引数列>] `)' <式> | |
<外部クリエータ定義> | New `(' [<仮引数列>] `)' [`:' `(' [<式列>] `)'] <式> | |
<秘伝宣言式> | hiden <識別子>`::'<識別子> `(' [<仮引数列>] `)' <式> | |
<仮引数列> | <識別子>{`,' <識別子>}* |