/* Copyright (c) 1979 Regents of the University of California */
-/* static char sccsid[] = "@(#)pas.y 2.1 %G%"; */
+/* static char sccsid[] = "@(#)pas.y 2.2 %G%"; */
/*
* The following line marks the end of the yacc
##
/* Copyright (c) 1979 Regents of the University of California */
-static char sccsid[] = "@(#)pas.y 2.1 %G%";
+static char sccsid[] = "@(#)pas.y 2.2 %G%";
#include "whoami.h"
#include "0.h"
id_list ':' type
= $$.tr_entry = tree3(T_PVAL, (int) fixlist($1.tr_entry), $3.tr_entry);
|
- YVAR id_list ':' vtype
+ YVAR id_list ':' type
= $$.tr_entry = tree3(T_PVAR, (int) fixlist($2.tr_entry), $4.tr_entry);
|
YFUNCTION id_list params ftype
/* lambda */
= $$.tr_entry = TR_NIL;
;
-vtype:
- type_id
- |
- c_ary
- ;
-c_ary:
- YARRAY '[' i_type_list ']' YOF vtype
- = $$.tr_entry = tree4(T_TYCARY, lineof($1.i_entry),
- fixlist($3.tr_entry), $6.tr_entry);
- ;
-i_type_list:
- i_type
- = $$.tr_entry = newlist($1.tr_entry);
- |
- i_type_list ';' i_type
- = $$.tr_entry = addlist($1.tr_entry, $3.tr_entry);
- ;
-i_type:
- YID YDOTDOT YID ':' type_id
- = $$.tr_entry = tree5(T_TYCRANG,lineof($2.i_entry), $1.tr_entry,
- $3.tr_entry, $5.tr_entry);
- ;
param_list:
param
= $$.tr_entry = newlist($1.tr_entry);
param_list ';' param
= $$.tr_entry = addlist($1.tr_entry, $3.tr_entry);
;
-
\f
/*
* CONSTANTS