DIRECTORY ThreeC4BaseDecl1Def, Rope, ThreeC4Support; ThreeC4BaseDecl1Impl: CEDAR PROGRAM IMPORTS Rope EXPORTS ThreeC4BaseDecl1Def= BEGIN OPEN ThreeC4BaseDecl1Def, Rope, ThreeC4Support; ThreeC4BaseDecl1LinkProc: PUBLIC PROC[prodLinkArray: SeeProdLinkArray, tknLinkArray: TokenLinkArray] = BEGIN tknLinkArray[tokenID] ← BuildIdentifierNode; tknLinkArray[tokenROPE] ← BuildRopeNode; tknLinkArray[tokenDECIMAL] ← BuildNonNegIntegerNode; END; --Identifier BuildIdentifierNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[IdentifierNode] = {RETURN[NEW[IdentifierNodeBody←[text, firstCharPosition, Length[text]]]]}; --Rope BuildRopeNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[RopeNode] = {RETURN[NEW[RopeNodeBody←[text, firstCharPosition, Length[text]]]]}; --NonNegInteger BuildNonNegIntegerNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[NonNegIntegerNode] = {RETURN[NEW[NonNegIntegerNodeBody←[text, firstCharPosition, Length[text]]]]}; END..