YACC Grammar Spec and ObjecTime Linear Form

Category |  Purpose |  Intended Audience |  Applicable to |  Description |  Limitations |  See also


Category:

Top

Toolset


Applicable to:

Top

ObjecTime 4.4


Purpose:

Top

To provide additional information about the ObjecTime linear form


Intended Audience:

Top

All ObjecTime developers


Description:

Top

The linear form yacc grammar defines the textual storage format for ObjecTime models. Note that this is not the same as the textual documentation format generated via the Output menu item.

Actors passivated in linear form are passivated into a true storage format that can be re-activated into a session. On the other hand, the text output, while closely following linear form, is intended for the creation of hard copy and cannot be read back into the toolset.

ObjecTime provides support for parsing passivated actors not model "Output".

How to Convert Actors into Linear Form

The "Library Configuration ..." Menu on the ObjecTime icon opens a dialog box which asks for the storage type for files to be used when saving classes/packages to disk or to a library. The options are

  1. text - uses the ObjecTime linear form to save the class definition as an ASCII file
  2. binary - uses a proprietary binary format to save the class definitions.

You would select text for textual linear format, and then passivate the individual classes.

Parsing With YACC

Once you have your actors in linear format you probably want to parse them. Please have a look at p.11 of the 4.4 Release Notice. This describes the usage and location of the new linear form spec (it's in $OBJECTIME_HOME/linearForm). The "old" linear form as specified in Appendix B of the Toolset Guide has not changed. In this directory you will find the source code for a skeletal parser. You will need to modify it suit your needs. It is based on YACC with machine readable linear format definition specified in lf.h and lf.y files.

Also, the versionSpec of a modelSpec is not optional. It tells us the version of the linear form grammar (e.g. 4.4, 5.0, ...), which allows more recent parsers to parse older versions.

Important Notes:

Textual documentation generated via the Output menu item is NOT the same as linear form and cannot be re-activated into an ObjecTime session.


Limitations:

Top

None


See also:

Top

The Toolset Guide


 

Copyright © 1999, ObjecTime Limited.