SaffronGenericImpl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 10:48:11 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 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..