DIRECTORY
Rope,
ThreeC4Support,
WartDef;
WartImpl: CEDAR PROGRAM IMPORTS Rope EXPORTS WartDef=
BEGIN
OPEN Rope, ThreeC4Support, WartDef;
WartLinkProc: PUBLIC PROC[prodLinkArray: SeeProdLinkArray, tknLinkArray: TokenLinkArray] =
BEGIN
tknLinkArray[tokenID] ← BuildidentifierNode;
tknLinkArray[tokenDECIMAL] ← BuildnumberDNode;
tknLinkArray[tokenOCTAL] ← BuildnumberONode;
tknLinkArray[tokenHEX] ← BuildnumberHNode;
tknLinkArray[tokenROPE] ← BuildRopeNode;
END;
identifier
BuildidentifierNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[identifierNode] =
{RETURN[NEW[identifierNodeBody←[text, firstCharPosition, Length[text]]]]};
numberD
BuildnumberDNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[numberDNode] =
{RETURN[NEW[numberDNodeBody←[text, firstCharPosition, Length[text]]]]};
numberO
BuildnumberONode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[numberONode] =
{RETURN[NEW[numberONodeBody←[text, firstCharPosition, Length[text]]]]};
numberH
BuildnumberHNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[numberHNode] =
{RETURN[NEW[numberHNodeBody←[text, firstCharPosition, Length[text]]]]};
Rope
BuildRopeNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[RopeNode] =
{RETURN[NEW[RopeNodeBody←[text, firstCharPosition, Length[text]]]]};
END..