Package exc.object


履歴:
このパッケージは、tree構造を持つXcodeの式や文などの構造を表現するクラ スを含む。

提供する機能は:


クラス階層:


XobjectFile (exc.object.XobjectFile)

Xcodeのファイルを表現するクラス。ファイルとの入出力を行う。

XobjectDef (exc.object.XobjectDef)

XobjectFile内のdefinitionを操作するためのイタレータに用いるクラス。

XobjectDefVisitor (exc.object.XobjectDefVisitor)

XobjectFile内の各定義ごとに呼び出す手続きに対するインタフェース。 Xobject.iterateDef()または、Xobject.iterateFuncDef()の引数として用いる。

XobjectInputStream (exc.object.XobjectInputStream)

Xcodeの外部表現を読み込むためのストリームを作る。 InputStreamReaderのサブクラス。外部表現を読み込む場合は、データ型のテー ブルなどの情報が必要なので、コンストラクタにXobjectFileを指定する。

XobjectOutputStream (exc.object.XobjectOutputStream)

PrintWriterクラスのサブクラス。Xobjectを外部表現で出力するために用いる。

XobjectDecompileStream (exc.object.XobjectDecompileStream)

PrintWriterクラスのサブクラス。XobjectをCの形式で出力するために用いる。

Xcode (exc.object.Xcode)

XobjectのOpcodeを定義するクラス。Opcodeは、static intとして定義されている。 X-exprcode.defから、生成される。コード名については、ソース参照のこと。

Xobject (exc.object.Xobject)

Xcodeのデータ構造 Xobject を表現するclassのsuper class。 中間コードはこのオブジェクトで表現される。 実際のconstructorは、Opcodeによって、XobjInt, XobjList, XobjString, XobjList を用いる。これらのclassのabstract classとして用いる(実際に abstract methodにはなっていない)。 また、Xobjectのコンストラクタの提供するXconsクラス を利用してもよい。 PropObjectのsubclassで、Proplistが使える。

XobjInt (exc.object.XobjInt)

Integerを引数にもつTerminal expression。

XobjLong (exc.object.XobjLong)

浮動小数点、64ビット整数を引数をもつterminal expression。 Xobjectのsubclass。

XobjString (exc.object.XobjString)

名前また文字列を引数にするterminal expression

XobjList (exc.object.XobjList)

Xobjectを引数にするexpressionを返す。

XobjArgs (exc.object.XobjArgs)

Xobjectの引数リストを表現するためのクラス。 引数をアクセスするためのiteratorとしても用いる。

Ident (exc.object.Ident)

シンボルテーブルのエントリを表現するためのクラス。 シンボルテーブルは、Xcode:ID_LISTのopcodeをもつIdentのリストで表現され る。

Xcons (exc.object.Xcons)

Xobjectのコンストラクタをあつめたクラス。全てstaticなmethod。

XobjectIterator (exc.object.XobjectIterator)

Xobjectの各ノードをトラバースするためのイタレータのためのabstract class.

bottomupXobjectIterator (exc.object.bottomupXobjectIterator)

Xobjectの各ノードをボトムアップにトラバースするためのイタレータ。 XobjectIteratorのサブクラス。

topdownXobjectIterator (exc.object.topdownXobjectIterator)

Xobjectの各ノードをトップダウンにトラバースするためのイタレータ。 XobjectIteratorのサブクラス。

StorageClass (exc.object.StorageClass)

Storage Classを定義するクラス。Storage Classはstatic intとして定義されている。

Xtype (exc.object.Xtype)

データ型を表現するsuper class. 実際のコンストラクタは、データ型によって、BasicType、PointerType、 FunctionType、ArrayType、EnumType、StructType、UnionType を用いる。 これらのclassのabstract classとして用いる(実際にabstractではない)。 また、コンストラクタのためのstaticなmember関数が用意されている。

BasicType (exc.object.BasicType)

基本データ型を表現するクラス。

PointerType (exc.object.PointerType)

ポインタデータ型を表現するクラス。

FunctionType (exc.object.FunctionType)

関数データ型を表現するクラス。

ArrayType (exc.object.ArrayType)

配列データ型を表現するクラス。

StructType (exc.object.StructType)

struct構造体データ型を表現するクラス。

UnionType (exc.object.UnionType)

union構造体データ型を表現するクラス。

EnumType (exc.object.EnumType)

列挙データ型を表現するクラス。

Machine (exc.object.Machine)

対象とするマシンに依存するデータ型に関する情報を定義するクラス。

Machine (exc.object.PropObject)

Property Listを持つオブジェクトのクラス。