=================================================================== RCS file: /home/cvs/OpenXM/doc/OpenXM-specs/formal-expression.tex,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -r1.7 -r1.8 --- OpenXM/doc/OpenXM-specs/formal-expression.tex 2000/09/09 21:59:13 1.7 +++ OpenXM/doc/OpenXM-specs/formal-expression.tex 2020/03/14 01:21:56 1.8 @@ -1,15 +1,15 @@ -%% $OpenXM: OpenXM/doc/OpenXM-specs/formal-expression.tex,v 1.6 2000/09/09 16:32:26 takayama Exp $ -//&jp \section{ CMO の形式的表現方法 } +%% $OpenXM: OpenXM/doc/OpenXM-specs/formal-expression.tex,v 1.7 2000/09/09 21:59:13 takayama Exp $ +//&jp \section{ CMO 綵√茵憝号 } //&eg \section{ A formal expression of CMO } /*&jp -前の節で CMO の表現方法を形式的に定義せず, -CMO のPrimitive の表現法を説明したが, -ここでは, CMO の Lisp 風表現 (Lisp-like expression) -である +膀 CMO 茵憝号綵√絎臂, +CMO Primitive 茵憝茯, +с, CMO Lisp 蘂茵 (Lisp-like expression) +с CMOexpression -および前節で説明した CMO の標準 encoding 法をもう一度説明する. -% (タグの省略記法がほしい.) +喝膀ц CMO 罔羣 encoding 羈筝綺茯. +% (帥違ヨ羈祉.) */ /*&eg In the previous section, we have explained the format of CMO's in the @@ -23,12 +23,12 @@ the explanation is more formal. /*&jp -まず, CMOexpression を形式的に 拡張 BNF 記法を用いて定義しよう. -タイプライタフォントでかかれた記号は終端記号を意味する. -``:'' は定義を意味する. ``$|$'' は''または''を意味する. -\{ X \} は X の 0 回以上の繰り返しを表す. -[ x ] は X が 0 回または 1 回出現することを表す. -この記法を用いると CMOexpression は次のように定義できる. +障, CMOexpression 綵√ ≦宍 BNF 荐羈絎臂. +帥ゃゃ帥潟с荐垩腟腴荐垩潟. +``:'' 絎臂潟. ``$|$'' ''障''潟. +\{ X \} X 0 篁ヤ膵違菴茵. +[ x ] X 0 障 1 榊憗茵. +荐羈 CMOexpression 罨<絎臂с. */ /*&eg @@ -57,10 +57,10 @@ By using this notation, CMOexpression is defined as fo \end{eqnarray*} */ /*&jp -終端記号 {\tt int32} は, 32 bit integer を表す, 10 進または 16 進の数字の -列である. -終端記号 {\tt string} は''文字''の列である. -終端記号 {\tt byte} は 8 bit データを表す, 10 進または 16 進の数字の列である. +腟腴荐 {\tt int32} , 32 bit integer 茵, 10 蚊障 16 蚊医 +с. +腟腴荐 {\tt string} ''絖''с. +腟腴荐 {\tt byte} 8 bit 若帥茵, 10 蚊障 16 蚊医с. */ /*&eg Terminal {\tt int32} is signed 32 bit integer. @@ -69,9 +69,9 @@ Terminal {\tt byte} is 8 bit data. */ /*&jp -CMOexpression にあらわれる各要素を区切るために {\tt ,} (コンマ) を用いてもよい. -{\tt cmo\_tag} は {\tt CMO\_} で始まる定数である. -CMOexpression で表現される object を CMObject と呼ぶ. +CMOexpression 荀膣阪 {\tt ,} (潟潟) . +{\tt cmo\_tag} {\tt CMO\_} у障絎違с. +CMOexpression ц;憗 object CMObject 若. */ /*&eg @@ -81,12 +81,12 @@ The comma ({\tt ,}) may be used to separate each eleme */ /*&jp -この表記法 CMOexpression を利用して, CMO Primitive の object を記述 -してみよう. -Object 自体の構造を説明するため, -BNF をもうすこし拡張して, 非終端記号, 終端記号名のみならず, 変数の -名前も書くことにする. こうすることにより, object の意味の説明も容易になる -からである. また ``---'' でコメントのはじまりを表すものとする. +茵荐羈 CMOexpression , CMO Primitive object 荐菴 +帥. +Object 篏罕茯, +BNF ≦宍, 腟腴荐, 腟腴荐垸帥, 紊違 +吾. , object 潟茯絎号 +с. 障 ``---'' с潟<潟障茵. */ /*&eg Let us describe CMO's in the Primitive group. @@ -95,30 +95,30 @@ we may also put variable names to CMOexpressions. The start of comments are denoted by ``---''. */ /*&jp -たとえば, (CMObject の) 32 bit integer である integer32 を -BNFで定義すれば, +, (CMObject ) 32 bit integer с integer32 +BNFу臂, \begin{center} Integer32 \ : \ ({\tt CMO\_INT32}, {\tt int32}) \end{center} -と書くのが本来の書き方による記法であるが, ここでは, +吾ャ吾鴻荐羈с, с, \begin{eqnarray*} \mbox{Integer32} \ &:& \ ({\tt CMO\_INT32}, {\sl int32}\ n) \\ -& & \ \mbox{--- 32 bit integer $n$ を表す. } \\ +& & \ \mbox{--- 32 bit integer $n$ 茵. } \\ \end{eqnarray*} -と書くことを許すことにする. -このように書くことにより, 非終端記号 Integer32 は, +吾荐宴. +吾, 腟腴荐 Integer32 , \begin{center} Integer32 \ : \ ({\tt CMO\_INT32}, {\tt int32}) \end{center} -のように, 終端記号 {\tt CMO\_INT32} と {\tt int32} を成分にもち, -CMObject の +, 腟腴荐 {\tt CMO\_INT32} {\tt int32} , +CMObject ({\tt CMO\_INT32}, {\sl int32}\ n) -は, -32 bit integer $n$ を表現しているんだということが, 1 行でわかる. +, +32 bit integer $n$ 茵憗, 1 茵с. */ /*&jp -この記法を用いて, 前節で導入した, Primitive の CMObject を -形式的に定義しよう. +荐羈, 膀уャ, Primitive CMObject +綵√絎臂. */ /*&eg By using this notation, let us define formally CMObjects in the group @@ -153,7 +153,7 @@ Document of CMObject/Primitive is at {\tt http://www.m */ -//&jp Cstring で, {\sl string} s の部分を {\tt byte} に分解すれば, +//&jp Cstring , {\sl string} s {\tt byte} 茹c, //&eg In the definition of ``Cstring'', if we decompose ``{\sl string} s'' into bytes, then ``Cstring'' should be defined as /*&C \begin{eqnarray*} @@ -162,17 +162,17 @@ Document of CMObject/Primitive is at {\tt http://www.m \ldots, {\sl byte}\ \mbox{s[n-1]}) \end{eqnarray*} */ -//&jp となる. +//&jp . /*&jp -また, +障, ``Group CMObject/Primitive requires nothing'' -は, 以下は, グループ CMObject/Primitive の定義であり, -このグループの CMObject を定義するのに, 要請される CMObject のグループは -ないことを示す. +, 篁ヤ, 違若 CMObject/Primitive 絎臂с, +違若 CMObject 絎臂, 荀茫 CMObject 違若 +腓冴. ``Error2, Null, Integer32, Datum, Cstring, Mathcap, List $\in$ CMObject/Primitive'' -は, グループ CMObject/Primitive には, Error2, Null, Integer32, -Datum, Cstring なるクラスの object が属することを示す. +, 違若 CMObject/Primitive , Error2, Null, Integer32, +Datum, Cstring 鴻 object 絮腓冴. */ /*&eg ``Group CMObject/Primitive requires nothing'' @@ -189,8 +189,8 @@ are members of the group CMObject/Primitive. */ /*&jp -では, 実際のデータの表現の例をみてみよう. -たとえば, 32 bit integer の 1234 は, +с, 絎若帥茵憗箴帥帥. +, 32 bit integer 1234 , */ /*&eg Let us see examples. @@ -202,8 +202,8 @@ Let us see examples. \end{center} */ /*&jp -とかく. -文字列 ``Hello'' は +. +絖 ``Hello'' */ /*&eg The string ``Hello'' is expressed as @@ -213,27 +213,27 @@ The string ``Hello'' is expressed as ({\tt CMO\_STRING}, 5, "Hello") \end{center} */ -//&jp と書く. +//&jp 吾. /*&C */ /*&jp -CMOexpression と, CMObject の区別を理解しておくのは重要である. -たとえば +CMOexpression , CMObject 阪ャ茹c荀с. + \begin{center} ({\tt CMO\_INT32}, 234, "abc",({\tt CMO\_STRING})) \end{center} -は CMOexpression ではあるが, CMObject ではない. -これは, 文法的には正しいプログラムだが, なにをやるのかは全く不明な -プログラムと似ている. + CMOexpression с, CMObject с. +, 羈罩c違, 鋇 +違篌若. */ /*&jp -さて, Open math 風 (\cite{openmath}) -の XML 表現法も可能であり, その場合は, 上の二つの例は次のように -書く. +, Open math 蘂 (\cite{openmath}) + XML 茵憝純с, 翫, 筝篋ゃ箴罨< +吾. */ /*&eg CMO's are expressed by XML like Open Math (\cite{openmath}). @@ -256,7 +256,7 @@ See example below. \end{verbatim} */ -//&jp \noindent cmo\_string は次のようにあらわしてもよい. +//&jp \noindent cmo\_string 罨<. //&eg \noindent cmo\_string may be expressed as follows. /*&C \begin{verbatim} @@ -271,7 +271,7 @@ See example below. \end{verbatim} */ -//&jp \noindent この場合の cmo\_string の DTD による定義は次のようになる. \\ +//&jp \noindent 翫 cmo\_string DTD 絎臂罨<. \\ //&eg \noindent In this case, the DTD for cmo\_string is as follows; \\ //&C \verb+ + /*&C @@ -280,12 +280,12 @@ See example below. */ /*&jp -次に, 標準 encoding 法を説明しよう. -標準 encoding 法では, cmo\_tag を ネットワークバイトオーダーの -32 bit integer {\tt int32} に, -その他のフィールドは, 定義に記述されているデータ型に従い, -byte データ {\tt byte} かまたは -ネットワークバイトオーダーの 32 bit integer {\tt int32} に, 変換する. +罨<, 罔羣 encoding 羈茯. +罔羣 encoding 羈с, cmo\_tag 若ゃ若若 +32 bit integer {\tt int32} , +篁c若, 絎臂荐菴違若水緇, +byte 若 {\tt byte} 障 +若ゃ若若 32 bit integer {\tt int32} , 紊. */ /*&eg Let us explain the standard encoding method. @@ -298,14 +298,14 @@ and byte data are encoded as it is. */ /*&jp -高速の通信方法を用いて -効率を重視する接続の場合には, {\tt int32} を network byte order -に変換する操作がおおきなオーバヘッドとなることが -報告されている. -100Mbps の通信路で 12Mbytes の {\tt CMO\_ZZ} の転送では -約 90\% の時間が network byte order への変換についやされているという -実験データもある. -効率を重視した encoding 法については後述する \ref{subsection:byteorder}. +蕭篆≧号 +合荀・膓翫, {\tt int32} network byte order +紊篏若 +怨. +100Mbps 篆∴君 12Mbytes {\tt CMO\_ZZ} 荵∫с +膣 90\% network byte order 吾紊ゃ +絎薑若帥. +合荀 encoding 羈ゃ緇菴違 \ref{subsection:byteorder}. */ /*&eg When we are using a high speed network, @@ -325,9 +325,9 @@ we will discuss a protocol to avoid the translation. */ /*&jp -標準 encoding と CMOexpression の間の変換は容易である. -前節で用いたデータの表記法, -たとえば, +罔羣 encoding CMOexpression 紊絎号с. +膀х若帥茵荐羈, +, */ /*&eg The translation between the standard encoding and CMOexpression @@ -344,7 +344,7 @@ For example, \end{center} */ /*&jp -は, CMOexpression +, CMOexpression */ /*&eg is the encoding of the CMOexpression @@ -355,7 +355,7 @@ is the encoding of the CMOexpression \end{center} */ /*&jp -の 標準 encoding 法による表現である. + 罔羣 encoding 羈茵憗с. */ /*&C @@ -365,10 +365,10 @@ is the encoding of the CMOexpression */ /*&jp -(実験的) -CMO および OX packets は XML 規格 \cite{xml} に準拠している. -XML 規格の Attribute を binary encode するために -特別なタグ \\ +(絎薑) +CMO OX packets XML 荀 \cite{xml} 羣. +XML 荀若 Attribute binary encode +劫ャ帥 \\ */ /*&eg (Experimental) @@ -378,10 +378,10 @@ we have a tag: \\ */ //&C \verb! #define CMO_ATTRIBUTE_LIST (LARGEID+3) ! \\ /*&jp -を用意してある. +. */ /*&jp -たとえば Attribute {\tt font="Times-Roman" } は \\ + Attribute {\tt font="Times-Roman" } \\ */ /*&eg For example, the attibute {\tt font="Times-Roman" } is encoded as \\ @@ -393,20 +393,20 @@ For example, the attibute {\tt font="Times-Roman" } is \end{verbatim} */ /*&jp -と encoding される. + encoding . */ //&C /*&jp -この特別な CMO tag {\tt CMO\_ATTRIBUTE\_LIST} 以外は, -XML 表現では XML のタグとして理解される. +劫ャ CMO tag {\tt CMO\_ATTRIBUTE\_LIST} 篁ュ, +XML 茵憗с XML 帥違茹c. */ /*&eg All tags except this special CMO tag {\tt CMO\_ATTRIBUTE\_LIST} are XML tags in the CMO/XML expression. */ /*&jp -CMO/XML で {\it comment}, {\it for} と名前がついた -attributes は CMO binary expression にはエンコードされない. +CMO/XML {\it comment}, {\it for} ゃ +attributes CMO binary expression 潟潟若. */ /*&eg CMO/XML attributes such as {\it comment}, {\it for}