next up previous
Next: Acknowledgements Up: The RNPL Reference Previous: Output

RNPL Grammar in BNR Format

 
dec_list 		 

dec_list declaration

declaration param_dec

coord_dec

grid_dec

gfunc_dec

attrib_dec

d_operator

residual

initialization

looper

update

param_dec param p_type name

param p_type name assignop scalar

param p_type name v_size

param p_type name v_size assignop vector

const param p_type name

const param p_type name assignop scalar

const param p_type name v_size

const param p_type name v_size assignop vector

coord_dec name coordinates coord_list

grid_dec g_type name grid name i_region c_region

g_type name grid name

g_type name obrack coord_list cbrack grid name i_region

c_region

g_type name obrack coord_list cbrack grid name

gfunc_dec type name on name

type name on name str

type name on name at o_list

type name on name at o_list alias

type name on name at o_list str

type name on name at o_list alias str

attrib_dec attrib p_type name encoding

attrib p_type name encoding assignop vector

d_operator operator d_op assignop expr

residual resid name obrace res_list cbrace

resid time index name obrace res_list cbrace

evaluate resid name obrace res_list cbrace

evaluate resid time index name obrace res_list cbrace

initialization initialize name obrace res_list cbrace

looper looper name

update name name update coord_list header ref_list

stub name update coord_list header ref_list

auto update coord_list

p_type int

float

string

name iden

scalar inum

minus inum

num

minus num

str

v_size obrack inum cbrack

vector obrack scalar_list cbrack

coord_list name

coord_list comma name

g_type uniform

nonuniform

i_region obrack expr colon expr cbrack

obrack expr colon expr cbrack i_region

c_region obrace name colon name cbrace

obrace name colon name cbrace c_region

type int

float

o_list inum

minus inum

o_list comma inum

o_list comma minus inum

encoding encodeone

encodeall

d_op name oparen expr comma coord_list cparen

expand name oparen expr comma coord_list cparen

expr expr plus expr

expr minus expr

expr equals expr

expr times expr

expr divide expr

expr caret expr

plus expr

minus expr

oparen expr cparen

d_op

func

gfunc

coord

name

num

inum

res_list i_region assignop expr

res_list scolon i_region assignop expr

time oabr inum cabr

oabr minus inum cabr

index obrack inum cbrack

obrack minus inum cbrack

obrack inum cbrack index

obrack minus inum cbrack index

ref_list reference

ref_list comma reference

scalar_list scalar

scalar_list scalar

func name oparen expr cparen

gfunc time name index

coord name obrack inum cbrack

reference name

name obrack coord_list cbrack

auto work pound inum oparen expr cparen

static work pound inum oparen expr cparen

Terminals

 
 param  		 parameter or PARAMETER

assignop := or =

coordinates coordinates or COORDINATES

grid grid or GRID

obrack [

cbrack ]

on on or ON

at at or AT

attrib attribute or ATTRIBUTE

operator operator or OPERATOR

resid residual or RESIDUAL

obrace {

cbrace }

evaluate evaluate or EVALUATE

initialize initialize or INITIALIZE

looper looper or LOOPER

update update or updates or UPDATE or UPDATES

int int or INT

float float or FLOAT

string string or STRING

iden see below

inum positive integer

minus -

num positive real number

str ``any characters''

comma ,

uniform uniform or UNIFORM

nonuniform nonuniform or NONUNIFORM

colon :

encodeone encodeone or ENCODEONE

encodeall encodeall or ENCODEALL

oparen (

cparen )

expand expand or EXPAND

plus +

times *

divide /

caret ^ or **

scolon ;

oabr <

cabr >

An iden is string which starts with a letter or _ and contains letters, digits, and _. It can also be two or more iden's separated by . or ->. For example, the following are valid iden's:
frank
AlBerT0
_george123fred___
brad.charles
employer->name.first



next up previous
Next: Acknowledgements Up: The RNPL Reference Previous: Output



Robert Marsa
Thu Jun 1 09:34:30 CDT 1995