-- NodeStyleExtra.mesa -- Written by Bill Paxton, January 1981 -- Last changed by Bill Paxton, March 24, 1981 9:38 AM -- Internal defs for NodeStyle modules DIRECTORY NodeStyle, TextNode, TextLooks, JaMOtherDefs, TiogaJaM; NodeStyleExtra: DEFINITIONS IMPORTS NodeStyle, JaMOtherDefs, TiogaJaM = BEGIN OPEN NodeStyle, nodeI:TextNode, looksI:TextLooks, tjI:TiogaJaM, jamI:JaMOtherDefs; StyleCommand: PROC [text: REF TEXT, proc: PROC]; StyleLiteral: PROC [text: REF TEXT] RETURNS [name: tjI.JaMName]; Command: TYPE = jamI.Command; cvlit, cvx, def, put, get, dict, attachdict, detachall, abind, begin, end, run, load, clrdict, where, known, assign, finishSubStyle: Command; -- Inlines GetCommand: PROC [name: tjI.JaMName] RETURNS [c: Command] = INLINE { flag: BOOLEAN; [c, flag] _ jamI.TryToGetCommand[LOOPHOLE[name]]; IF ~flag THEN ERROR }; ExecuteCommand: PROC [c: Command] = INLINE { jamI.ExecuteCommand[c] }; PushCommand: PROC [c: Command] = INLINE { jamI.PushCommand[c] }; Object: TYPE = jamI.Obj; PushObject: PROC [ob: Object] = INLINE { jamI.PushObj[ob] }; PopObject: PROC RETURNS [Object] = INLINE { RETURN[jamI.PopObj[]] }; PushName: PROC [name: tjI.JaMName] = INLINE { jamI.PushName[LOOPHOLE[name]] }; PopName: PROC RETURNS [tjI.JaMName] = INLINE { RETURN [LOOPHOLE[jamI.PopName[]]] }; ExecuteName: PROC [name: tjI.JaMName] RETURNS [BOOLEAN] = INLINE { RETURN[jamI.ExecuteName[LOOPHOLE[name]]] }; EvalName: PROC [name: tjI.JaMName] = INLINE { IF ~jamI.ExecuteName[LOOPHOLE[name]] THEN ERROR StyleError }; TryToPopName: PROC RETURNS [name: tjI.JaMName, ok: BOOLEAN] = INLINE { jname: jamI.Name; [jname, ok] _ jamI.TryToPopName[]; RETURN [LOOPHOLE[jname],ok]}; PopNameOrReal: PROC RETURNS [flag: BOOLEAN, name: tjI.JaMName, value: REAL] = INLINE { jname: jamI.Name; [flag, jname, value] _ jamI.PopNameOrReal[]; RETURN [flag, LOOPHOLE[jname], value]}; MakeName: PROC [txt: REF READONLY TEXT] RETURNS [tjI.JaMName] = INLINE { RETURN [LOOPHOLE[tjI.MakeName[LOOPHOLE[txt]]]] }; END. (476)\232b15B