--File IntDefs.mesa
--
March 12, 1981 12:11 PM

DIRECTORY

ParserTypeDefs: FROM "ParserTypeDefs" USING [Point, Path, TList];

IntDefs: DEFINITIONS =

BEGIN

SemanticError: ERROR;

--Routines that are called by the Parser to implement the various CIF constructs. It is up to the Interpreter to decide what to do with each of the calls.

InitInterpreter: PROCEDURE RETURNS [BOOLEAN];
FinishInterpreter: PROCEDURE RETURNS [BOOLEAN];

IDefineStart: PROCEDURE [symbolNumber: LONG CARDINAL, multiplier, divisor: LONG CARDINAL];
IDefineEnd: PROCEDURE;
IDeleteDef: PROCEDURE [nSym: LONG CARDINAL];

ILayer: PROCEDURE [layerName: STRING];
IWire: PROCEDURE [width: LONG CARDINAL, a: ParserTypeDefs.Path];
IFlash: PROCEDURE [diameter: LONG CARDINAL, center: ParserTypeDefs.Point];
IPolygon: PROCEDURE [a: ParserTypeDefs.Path];
IBox: PROCEDURE [length, width: LONG CARDINAL, center: ParserTypeDefs.Point, xRotation, yRotation: LONG INTEGER];

ICallSymbol: PROCEDURE [symbolNumber: LONG CARDINAL, list: ParserTypeDefs.TList];
IComment: PROCEDURE [contents: STRING];
IUserCommand: PROCEDURE[command: [0..9], userText: STRING];
IEnd: PROCEDURE;

IUserObject: PROCEDURE [size: CARDINAL, data: POINTER TO UNSPECIFIED];

-- returns the bounding box of all things in the item tree
IBoundBox: PROCEDURE RETURNS [left,right,bottom,top: LONG INTEGER];

-- instantiate the item list
Instantiate: PROCEDURE;

-- returns the bounding box of the last CIF primitive output
ILastBB: PROCEDURE RETURNS [left,right,bottom,top: LONG INTEGER];

-- scale a long cardinal by factors set up by a call to SetScale
IScaleLong: PROCEDURE [LONG CARDINAL] RETURNS [LONG CARDINAL];

-- scale a long integer by factors set up by a call to SetScale
IScaleLongInt: PROCEDURE [LONG INTEGER] RETURNS [LONG INTEGER];


END.