RIGHT:[[:t/汎用記法]] [[:t/記法]] [[:t/プラグイン]] [[:t/要素]] [[:t/ビルトイン]]
RIGHT:[[:t/汎用記法]] [[:t/記法]] [[:t/プラグイン]] [[:t/要素]] 

組み込み済(ビルトイン)ではない機能(プラグイン)を呼び出すための記法。記法はビルトイン。
記法を定義しなくても汎用記法でどれでも呼べる。
柔軟な書き方を実現するためこの記法はビルトインで。ビルトイン要素なのでデフォルトで記法がある。

*** 柔軟な書き方 [#tfc9efbd]
 {{{要素クラス名, パラメーター:値, パラメーター:値, …}}}
 <<<要素クラス名; パラメーター = 値; パラメーター = 値; …>>>
 【【 【要素クラス名/ パラメーター →値 / パラメーター → 値 / ...】】 】

…といったように…
-括弧類を3つ重ねると要素を置ける
括弧ならなんでもいい。全半角は混在可能。3重閉じ括弧が必要。
-パラメーター区切りも何でもいい
三重括弧内で最初に現れる記号類と同じ文字。これも全半角は混在可能。
-パラメーターと値の区切りも何でもいい
パラメーター区切りでない記号なら。やっぱり全半角は混在可能。
-記号に続く空白類は無視
ただし値の後の空白類は(値の一部になるので)必要。無駄な空白なら各要素が独自に削除する。要素ごとの判断。

記号はどうでもいい。柔軟な分、記法の優先順位は最低にしておく。設定で。変更可能。変更不可能でもいいけど。

記号が何であってもオブジェクト同士の比較になるので検索には影響しない。

括弧前後に空白を入れて記法を回避する使い方もあるかも?でも3重括弧はなかなか無い。
→空白ではなく''.''を間に入れたり、NoWiki記法を使ったりして回避してもらう。

→  [[:i/汎用記法を簡単にするには]]



*** ネスト [#t1261ed9]
入れ子にできるように。

 {{{ クラス名(パラメーター)->クラス名(パラメーター)->クラス名… }}}
 {{{ (クラス名, (クラス名, (クラス名, パラメーター))) }}}
 {{{ クラス名(クラス名(クラス名(パラメーター))) }}}



***文字同一視 [#m3d950bd]
記号とクラス名は全半角/大小文字同一視。さらに混在可能で。
パラメーター名も全半角/大小文字同一視、混在にしたい。
パラメーターの値は同一視しない。ここは表現を自由にしないと。


***別名定義 [#rcf66635]
使えるクラス名の別名を定義可能にしたい。かな漢字で。
→普通に記法定義すればいい。汎用記法っぽい記法を定義。それともクラス名だけ増やせるようにする?他の別名/類義語とはまとめられないので、汎用記法で使える名前専用のページと定義を書くことになる。


***呪文はこれだけ [#d057a9a9]
「汎用記法は唯一の呪文」と紹介。