ChannelChannel - Basic (textual) I/O channel

Description:
The Channel class implements low-level input/output for the AST library. Writing an ObjectObject 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 SinkFileSinkFile and SourceFileSourceFile attributes, in which case no sink or source function need be supplied.

Constructor Function:
astChannelastChannel
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:

  • CommentComment: Include textual comments in output?

  • FullFull: Set level of output detail

  • IndentIndent: Indentation increment between objects

  • ReportLevelReportLevel: Selects the level of error reporting

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

  • SkipSkip: Skip irrelevant data?

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

  • StrictStrict: 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:

  • astWarningsastWarnings: Return warnings from the previous read or write

  • astPutChannelDataastPutChannelData: Store data to pass to source or sink functions

  • astReadastRead: Read an Object from a Channel

  • astWriteastWrite: Write an Object to a Channel