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