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