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..