-- SaffronGenericImpl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by hederman.pa at August 17, 1987 3:50:18 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY Rope, SaffronGenericDef, ThreeC4Support; SaffronGenericImpl: CEDAR PROGRAM IMPORTS Rope EXPORTS SaffronGenericDef= BEGIN OPEN Rope, SaffronGenericDef, ThreeC4Support; SaffronGenericLinkProc: PUBLIC PROC[prodLinkArray: SeeProdLinkArray, tknLinkArray: TokenLinkArray] = BEGIN tknLinkArray[tokenDECIMAL] _ BuildDecimalnumNode; tknLinkArray[tokenOCTAL] _ BuildOctalnumNode; tknLinkArray[tokenHEX] _ BuildHexnumNode; tknLinkArray[tokenID] _ BuildIdNode; tknLinkArray[tokenROPE] _ BuildStringNode; tknLinkArray[tokenREAL] _ BuildFlnumNode; tknLinkArray[tokenCHAR] _ BuildCharNode; tknLinkArray[tokenATOM] _ BuildAtomNode; END; --Decimalnum BuildDecimalnumNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[DecimalnumNode] = {RETURN[NEW[DecimalnumNodeBody_[text, firstCharPosition, Length[text]]]]}; --Octalnum BuildOctalnumNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[OctalnumNode] = {RETURN[NEW[OctalnumNodeBody_[text, firstCharPosition, Length[text]]]]}; --Hexnum BuildHexnumNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[HexnumNode] = {RETURN[NEW[HexnumNodeBody_[text, firstCharPosition, Length[text]]]]}; --Id BuildIdNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[IdNode] = {RETURN[NEW[IdNodeBody_[text, firstCharPosition, Length[text]]]]}; --String BuildStringNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[StringNode] = {RETURN[NEW[StringNodeBody_[text, firstCharPosition, Length[text]]]]}; --Flnum BuildFlnumNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[FlnumNode] = {RETURN[NEW[FlnumNodeBody_[text, firstCharPosition, Length[text]]]]}; --Char BuildCharNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[CharNode] = {RETURN[NEW[CharNodeBody_[text, firstCharPosition, Length[text]]]]}; --Atom BuildAtomNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[AtomNode] = {RETURN[NEW[AtomNodeBody_[text, firstCharPosition, Length[text]]]]}; END..