<> <> <> <> <> <> DIRECTORY Core, CoreClasses, Pipal, PipalSinix, RefTab; PipalSisyph: CEDAR DEFINITIONS = BEGIN <> IntegerParameter: TYPE = RECORD [variable: ATOM, value: INT]; Extract: PROC [name: Core.ROPE, parameters: LIST OF IntegerParameter _ NIL] RETURNS [Core.CellType]; <> <> instanceExpressionsProp: ATOM; <> objectExpressionsProp: ATOM; <> <> CreateContext: PROC RETURNS [context: PipalSinix.Context]; <> Define: PROC [context: PipalSinix.Context, variable: ATOM, value: REF]; <> <<>> Set: PROC [context: PipalSinix.Context, variable: ATOM, value: REF]; <> Get: PROC [context: PipalSinix.Context, variable: ATOM] RETURNS [value: REF]; <> <<>> GetInt: PROC [context: PipalSinix.Context, variable: ATOM] RETURNS [value: INT]; <> <<>> GetAtom: PROC [context: PipalSinix.Context, variable: ATOM] RETURNS [value: ATOM]; <> <<>> GetRope: PROC [context: PipalSinix.Context, variable: ATOM] RETURNS [value: Core.ROPE]; <> <<>> Eval: PROC [context: PipalSinix.Context, expr: Core.ROPE] RETURNS [value: REF]; <> <> <> <<>> DefineEval: PROC [context: PipalSinix.Context, variable: ATOM, expr: Core.ROPE]; <> <<>> SetEval: PROC [context: PipalSinix.Context, variable: ATOM, expr: Core.ROPE]; <> <> ContextProblem: SIGNAL [message: Core.ROPE, variable: ATOM]; GlobalNonAtomic: SIGNAL [object: Pipal.Object, name: Core.ROPE, wire: Core.Wire]; InterpreterProblem: SIGNAL [context: PipalSinix.Context, expr, errorRope: Core.ROPE]; <> defaultGlobalNames: PRIVATE LIST OF Core.ROPE; globalNames: PRIVATE LIST OF Core.ROPE; <> <> << ~ (declaration)>> << _ (parameter passing)>> << : (property)>> <> <<>> ParseSatellite: PRIVATE PROC [satellite: Core.ROPE] RETURNS [variable: ATOM _ NIL, char: CHAR, expr: Core.ROPE]; ParsedRope: TYPE = RECORD [variable: ATOM, expr: Core.ROPE]; ParseSatellites: PRIVATE PROC [satellites: LIST OF Core.ROPE] RETURNS [declarations, assignments, properties: LIST OF ParsedRope _ NIL, others: LIST OF Core.ROPE _ NIL]; ProcessGlobalNames: PROC [mode: PipalSinix.Mode, objName: Core.ROPE, context: PipalSinix.Context, fused: RefTab.Ref, instances: LIST OF CoreClasses.CellInstance]; <> <<>> END. <<>>