休任していた間に作ってた俺流人工言語
実は、俺が去年の6月から最近までにかけて休任していた間、
TagoScript 2.0の構文を定義していたり、新たな人工言語を勝手に作ったりしていた。
一応、説明なしでここに貼付けておく事にする。
何か要望があれば、説明するかもしれないけどね。
・TagoScript 2.0
<!-- 仕様変更.tgsと言うソースファイルから引用 --> <@tagoscript ver="2.0"@> <$include src="@/stdio.tsh;"> <function type=(int)\ name="main"\ arg=(void)\> <print arg="このソースコードに書いてある用な感じに、\nTagoScript 2.0の言語仕様を変更いたしました。\n\n例えば、データ型の宣言の方法を変更したり(今まで\"int\"と宣言していたのを(int)としたり)\n新たなデータ型を導入したり(bool型やstring型など)\n"\ /> <return value=0\ /> </function>
ちなみに、TagoScript 2.0はTagoScript.org内の俺のブログで現在ちまちまと構文を発表しているよ。
・TagoScript 3.0
<@tagoscript ver="3.0"@> <$include src="@/stdio.tsh; @/stdlib.tsh;"\> <class name="Ax"\> <var:private type=(string)\ name="text"\ /> <var:public type=(int)\ name="num"\ /> <function:public type=(void)\ name="setSPEC"\ arg=(string), (int)\ /> <function:public type=(string)\ name="getText"\ arg=(void)\ /> <function:public type=(void)\ name="getSPEC"\ arg=(void)\> <print arg="Text = %s\nNum = %d\n", text, num\ /> </function> </class> <function:public:Ax type=(void)\ name="setSPEC"\ arg=(string)s, (int)i\> <data> text =s; num =i; </data> </function> <function:public:Ax type=(string)\ name="getText"\ arg=(void)\> <return value=text\ /> </function> <function type=(int)\ name="main"\ arg=(void)\ /> <var type=(Ax)\ name="a"\ value:init=<new arg=(Ax)\ />\ /> <a.setSPEC arg="Hello?", 10\ /> <a.getSPEC /> <var type=(string)\ name="str"\ value:init=<a.getText />\ /> <print arg="%s\n", str\ /> <return value=0\ /> </function>
・FDML(FDeML)
<@fdml ver="1.0"@> #(comment [lang:"ja_JP"] [date:"2011.02.23"] [writer:"Sho Tagomura"]) { (echo){昔作っためちゃくちゃな人工言語とW3CのXMLからヒントを得て作成したんだ。これはね。}; };
・DWCL(Dynamic Web Creating Language)
<@fdml ver="1.0"@> !(DType [root:"dwcl"] [usefile:true] [src:"http://www.flashproject.org/Member/1995/07/20/s/Sho_Tagomura/DataBase/Technology/DType/DWCL/dwcl-1.fdds"]); #(dwcl [NSpace:"http://data.flashproject.org/NameSpace/DWC/1.0"] [lang:"ja_JP"]) { (head) { (meta [usecharset:true] [charset:"UTF-8"]); (meta [usestylesheet:true]); (meta [usescript:true] [ScType:"text/tagoscript-net"]); (title){DWCTEST}; (style [usefile:true] [src:"http://www.flashproject.org/Member/s/Sho_Tagomura/DataBase/CSS/dwcstyletest.css"]); (script [ScType:"text/tagoscript-net"]) { <function type=(void)\ name="push"\ arg=(void)\> <data>tf.text = "Hello?"</data> </function> }; }; (body [StClass:"body_main"]) { (TextField [name:"tf"] [width:100%] [height:100px]); (Button [label:"Push it!"] [action:<push />]); }; }; //ちなみに、これに書いてあるURLは仮の物だと思って下さい。
・FDDS(FDML Documents Definition Schema)
<@fdml ver="1.0"@> #(fdds [NSpace:"http://www.flashproject.org/Member/s/Sho_Tagomura/DataBase/NameSpace/FDDS/1.0"]) { (element [name:"example_02"]) { (complex) { (sequence) { (element [name:"comment"] [type:$STRING]); }; (attribute [name:"lang"] [type:$STRING]); }; }; };