### Channel

Basic (textual) I/O channel

#### Description:

The Channel class implements low-level input/output for the AST library. Writing an Object to a Channel will generate a textual representation of that Object, and reading from a Channel will create a new Object from its textual representation.

Normally, when you use a Channel, you should provide " source" and " sink" functions which connect it to an external data store by reading and writing the resulting text. By default, however, a Channel will read from standard input and write to standard output. Alternatively, a Channel can be told to read or write from specific text files using the SinkFile and SourceFile attributes, in which case no sink or source function need be supplied.

#### Inheritance

The Channel class inherits from the Object class.

#### Attributes

In addition to those attributes common to all Objects, every Channel also has the following attributes:
• Comment: Include textual comments in output?

• Full: Set level of output detail

• Indent: Indentation increment between objects

• ReportLevel: Selects the level of error reporting

• SinkFile: The path to a file to which the Channel should write

• Skip: Skip irrelevant data?

• SourceFile: The path to a file from which the Channel should read

• Strict: Generate errors instead of warnings?

#### Functions

In addition to those functions applicable to all Objects, the following functions may also be applied to all Channels: