aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lexxer.c298
-rw-r--r--parser.c230
2 files changed, 283 insertions, 245 deletions
diff --git a/lexxer.c b/lexxer.c
index 34fa7f4..958f46a 100644
--- a/lexxer.c
+++ b/lexxer.c
@@ -1,7 +1,7 @@
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
- * $Header: cvs/mig/Attic/lexxer.c,v 1.1.1.1 1998/07/18 23:59:25 frob Exp $
+ * $Header: cvs/mig/Attic/lexxer.c,v 1.2 1998/07/19 00:18:29 roland Exp $
*/
#define FLEX_SCANNER
@@ -126,6 +126,7 @@ extern FILE *yyin, *yyout;
{ \
/* Undo effects of setting up yytext. */ \
*yy_cp = yy_hold_char; \
+ YY_RESTORE_YY_MORE_OFFSET \
yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
} \
@@ -235,7 +236,7 @@ void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *str ));
+YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
@@ -763,10 +764,11 @@ static char *yy_last_accepting_cpos;
#define REJECT reject_used_but_not_detected
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
-#line 1 "../gnumach/mig/lexxer.l"
+#line 1 "lexxer.l"
#define INITIAL 0
-#line 15 "../gnumach/mig/lexxer.l"
+#line 15 "lexxer.l"
/*
* Mach Operating System
* Copyright (c) 1991,1990 Carnegie Mellon University
@@ -855,7 +857,7 @@ static void doSharp(const char *body); /* process body of # directives */
#define QString 4
#define SkipToEOL 5
-#line 859 "lex.yy.c"
+#line 861 "lex.yy.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
@@ -877,6 +879,10 @@ static void yyunput YY_PROTO(( int c, char *buf_ptr ));
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
#endif
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+#endif
+
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput YY_PROTO(( void ));
@@ -1005,10 +1011,10 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 101 "../gnumach/mig/lexxer.l"
+#line 101 "lexxer.l"
-#line 1012 "lex.yy.c"
+#line 1018 "lex.yy.c"
if ( yy_init )
{
@@ -1094,515 +1100,515 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 103 "../gnumach/mig/lexxer.l"
+#line 103 "lexxer.l"
RETURN(syRoutine);
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 104 "../gnumach/mig/lexxer.l"
+#line 104 "lexxer.l"
RETURN(syFunction);
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 105 "../gnumach/mig/lexxer.l"
+#line 105 "lexxer.l"
RETURN(syProcedure);
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 106 "../gnumach/mig/lexxer.l"
+#line 106 "lexxer.l"
RETURN(sySimpleProcedure);
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 107 "../gnumach/mig/lexxer.l"
+#line 107 "lexxer.l"
RETURN(sySimpleRoutine);
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 108 "../gnumach/mig/lexxer.l"
+#line 108 "lexxer.l"
RETURN(sySubsystem);
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 109 "../gnumach/mig/lexxer.l"
+#line 109 "lexxer.l"
RETURN(syMsgOption);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 110 "../gnumach/mig/lexxer.l"
+#line 110 "lexxer.l"
RETURN(syMsgSeqno);
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 111 "../gnumach/mig/lexxer.l"
+#line 111 "lexxer.l"
RETURN(syWaitTime);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 112 "../gnumach/mig/lexxer.l"
+#line 112 "lexxer.l"
RETURN(syNoWaitTime);
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 113 "../gnumach/mig/lexxer.l"
+#line 113 "lexxer.l"
RETURN(syIn);
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 114 "../gnumach/mig/lexxer.l"
+#line 114 "lexxer.l"
RETURN(syOut);
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 115 "../gnumach/mig/lexxer.l"
+#line 115 "lexxer.l"
RETURN(syInOut);
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 116 "../gnumach/mig/lexxer.l"
+#line 116 "lexxer.l"
RETURN(syRequestPort);
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 117 "../gnumach/mig/lexxer.l"
+#line 117 "lexxer.l"
RETURN(syReplyPort);
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 118 "../gnumach/mig/lexxer.l"
+#line 118 "lexxer.l"
RETURN(syUReplyPort);
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 119 "../gnumach/mig/lexxer.l"
+#line 119 "lexxer.l"
RETURN(sySReplyPort);
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 120 "../gnumach/mig/lexxer.l"
+#line 120 "lexxer.l"
RETURN(syArray);
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 121 "../gnumach/mig/lexxer.l"
+#line 121 "lexxer.l"
RETURN(syOf);
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 122 "../gnumach/mig/lexxer.l"
+#line 122 "lexxer.l"
RETURN(syErrorProc);
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 123 "../gnumach/mig/lexxer.l"
+#line 123 "lexxer.l"
RETURN(syServerPrefix);
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 124 "../gnumach/mig/lexxer.l"
+#line 124 "lexxer.l"
RETURN(syUserPrefix);
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 125 "../gnumach/mig/lexxer.l"
+#line 125 "lexxer.l"
RETURN(syServerDemux);
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 126 "../gnumach/mig/lexxer.l"
+#line 126 "lexxer.l"
RETURN(syRCSId);
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 127 "../gnumach/mig/lexxer.l"
+#line 127 "lexxer.l"
RETURN(syImport);
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 128 "../gnumach/mig/lexxer.l"
+#line 128 "lexxer.l"
RETURN(syUImport);
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 129 "../gnumach/mig/lexxer.l"
+#line 129 "lexxer.l"
RETURN(sySImport);
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 130 "../gnumach/mig/lexxer.l"
+#line 130 "lexxer.l"
RETURN(syType);
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 131 "../gnumach/mig/lexxer.l"
+#line 131 "lexxer.l"
RETURN(syKernelServer);
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 132 "../gnumach/mig/lexxer.l"
+#line 132 "lexxer.l"
RETURN(syKernelUser);
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 133 "../gnumach/mig/lexxer.l"
+#line 133 "lexxer.l"
RETURN(sySkip);
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 134 "../gnumach/mig/lexxer.l"
+#line 134 "lexxer.l"
RETURN(syStruct);
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 135 "../gnumach/mig/lexxer.l"
+#line 135 "lexxer.l"
RETURN(syInTran);
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 136 "../gnumach/mig/lexxer.l"
+#line 136 "lexxer.l"
RETURN(syOutTran);
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 137 "../gnumach/mig/lexxer.l"
+#line 137 "lexxer.l"
RETURN(syDestructor);
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 138 "../gnumach/mig/lexxer.l"
+#line 138 "lexxer.l"
RETURN(syCType);
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 139 "../gnumach/mig/lexxer.l"
+#line 139 "lexxer.l"
RETURN(syCUserType);
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 140 "../gnumach/mig/lexxer.l"
+#line 140 "lexxer.l"
RETURN(syCServerType);
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 141 "../gnumach/mig/lexxer.l"
+#line 141 "lexxer.l"
RETURN(syCString);
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 143 "../gnumach/mig/lexxer.l"
+#line 143 "lexxer.l"
FRETURN(flLong);
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 144 "../gnumach/mig/lexxer.l"
+#line 144 "lexxer.l"
FRETURN(flNotLong);
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 145 "../gnumach/mig/lexxer.l"
+#line 145 "lexxer.l"
FRETURN(flDealloc);
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 146 "../gnumach/mig/lexxer.l"
+#line 146 "lexxer.l"
FRETURN(flNotDealloc);
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 147 "../gnumach/mig/lexxer.l"
+#line 147 "lexxer.l"
FRETURN(flServerCopy);
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 148 "../gnumach/mig/lexxer.l"
+#line 148 "lexxer.l"
FRETURN(flCountInOut);
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 150 "../gnumach/mig/lexxer.l"
+#line 150 "lexxer.l"
TRETURN(MACH_MSG_TYPE_POLYMORPHIC,word_size_in_bits);
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 152 "../gnumach/mig/lexxer.l"
+#line 152 "lexxer.l"
TRETURN(MACH_MSG_TYPE_UNSTRUCTURED,0);
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 153 "../gnumach/mig/lexxer.l"
+#line 153 "lexxer.l"
TRETURN(MACH_MSG_TYPE_BIT,1);
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 154 "../gnumach/mig/lexxer.l"
+#line 154 "lexxer.l"
TRETURN(MACH_MSG_TYPE_BOOLEAN,32);
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 155 "../gnumach/mig/lexxer.l"
+#line 155 "lexxer.l"
TRETURN(MACH_MSG_TYPE_INTEGER_16,16);
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 156 "../gnumach/mig/lexxer.l"
+#line 156 "lexxer.l"
TRETURN(MACH_MSG_TYPE_INTEGER_32,32);
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 157 "../gnumach/mig/lexxer.l"
+#line 157 "lexxer.l"
TRETURN(MACH_MSG_TYPE_INTEGER_64,64);
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 158 "../gnumach/mig/lexxer.l"
+#line 158 "lexxer.l"
TRETURN(MACH_MSG_TYPE_CHAR,8);
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 159 "../gnumach/mig/lexxer.l"
+#line 159 "lexxer.l"
TRETURN(MACH_MSG_TYPE_BYTE,8);
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 160 "../gnumach/mig/lexxer.l"
+#line 160 "lexxer.l"
TRETURN(MACH_MSG_TYPE_INTEGER_8,8);
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 161 "../gnumach/mig/lexxer.l"
+#line 161 "lexxer.l"
TRETURN(MACH_MSG_TYPE_REAL,0);
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 162 "../gnumach/mig/lexxer.l"
+#line 162 "lexxer.l"
TRETURN(MACH_MSG_TYPE_STRING,0);
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 163 "../gnumach/mig/lexxer.l"
+#line 163 "lexxer.l"
TRETURN(MACH_MSG_TYPE_STRING_C,0);
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 165 "../gnumach/mig/lexxer.l"
+#line 165 "lexxer.l"
TPRETURN(MACH_MSG_TYPE_MOVE_RECEIVE,MACH_MSG_TYPE_PORT_RECEIVE,word_size_in_bits);
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 166 "../gnumach/mig/lexxer.l"
+#line 166 "lexxer.l"
TPRETURN(MACH_MSG_TYPE_COPY_SEND,MACH_MSG_TYPE_PORT_SEND,word_size_in_bits);
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 167 "../gnumach/mig/lexxer.l"
+#line 167 "lexxer.l"
TPRETURN(MACH_MSG_TYPE_MAKE_SEND,MACH_MSG_TYPE_PORT_SEND,word_size_in_bits);
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 168 "../gnumach/mig/lexxer.l"
+#line 168 "lexxer.l"
TPRETURN(MACH_MSG_TYPE_MOVE_SEND,MACH_MSG_TYPE_PORT_SEND,word_size_in_bits);
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 169 "../gnumach/mig/lexxer.l"
+#line 169 "lexxer.l"
TPRETURN(MACH_MSG_TYPE_MAKE_SEND_ONCE,MACH_MSG_TYPE_PORT_SEND_ONCE,word_size_in_bits);
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 170 "../gnumach/mig/lexxer.l"
+#line 170 "lexxer.l"
TPRETURN(MACH_MSG_TYPE_MOVE_SEND_ONCE,MACH_MSG_TYPE_PORT_SEND_ONCE,word_size_in_bits);
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 172 "../gnumach/mig/lexxer.l"
+#line 172 "lexxer.l"
TRETURN(MACH_MSG_TYPE_PORT_NAME,word_size_in_bits);
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 173 "../gnumach/mig/lexxer.l"
+#line 173 "lexxer.l"
TPRETURN(MACH_MSG_TYPE_POLYMORPHIC,MACH_MSG_TYPE_PORT_RECEIVE,word_size_in_bits);
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 174 "../gnumach/mig/lexxer.l"
+#line 174 "lexxer.l"
TPRETURN(MACH_MSG_TYPE_POLYMORPHIC,MACH_MSG_TYPE_PORT_SEND,word_size_in_bits);
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 175 "../gnumach/mig/lexxer.l"
+#line 175 "lexxer.l"
TPRETURN(MACH_MSG_TYPE_POLYMORPHIC,MACH_MSG_TYPE_PORT_SEND_ONCE,word_size_in_bits);
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 176 "../gnumach/mig/lexxer.l"
+#line 176 "lexxer.l"
TRETURN(MACH_MSG_TYPE_POLYMORPHIC,0);
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 178 "../gnumach/mig/lexxer.l"
+#line 178 "lexxer.l"
RETURN(syColon);
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 179 "../gnumach/mig/lexxer.l"
+#line 179 "lexxer.l"
RETURN(sySemi);
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 180 "../gnumach/mig/lexxer.l"
+#line 180 "lexxer.l"
RETURN(syComma);
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 181 "../gnumach/mig/lexxer.l"
+#line 181 "lexxer.l"
RETURN(syPlus);
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 182 "../gnumach/mig/lexxer.l"
+#line 182 "lexxer.l"
RETURN(syMinus);
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 183 "../gnumach/mig/lexxer.l"
+#line 183 "lexxer.l"
RETURN(syStar);
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 184 "../gnumach/mig/lexxer.l"
+#line 184 "lexxer.l"
RETURN(syDiv);
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 185 "../gnumach/mig/lexxer.l"
+#line 185 "lexxer.l"
RETURN(syLParen);
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 186 "../gnumach/mig/lexxer.l"
+#line 186 "lexxer.l"
RETURN(syRParen);
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 187 "../gnumach/mig/lexxer.l"
+#line 187 "lexxer.l"
RETURN(syEqual);
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 188 "../gnumach/mig/lexxer.l"
+#line 188 "lexxer.l"
RETURN(syCaret);
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 189 "../gnumach/mig/lexxer.l"
+#line 189 "lexxer.l"
RETURN(syTilde);
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 190 "../gnumach/mig/lexxer.l"
+#line 190 "lexxer.l"
RETURN(syLAngle);
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 191 "../gnumach/mig/lexxer.l"
+#line 191 "lexxer.l"
RETURN(syRAngle);
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 192 "../gnumach/mig/lexxer.l"
+#line 192 "lexxer.l"
RETURN(syLBrack);
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 193 "../gnumach/mig/lexxer.l"
+#line 193 "lexxer.l"
RETURN(syRBrack);
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 194 "../gnumach/mig/lexxer.l"
+#line 194 "lexxer.l"
RETURN(syBar);
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 196 "../gnumach/mig/lexxer.l"
+#line 196 "lexxer.l"
{ yylval.identifier = strmake(yytext);
RETURN(syIdentifier); }
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 198 "../gnumach/mig/lexxer.l"
+#line 198 "lexxer.l"
{ yylval.number = atoi(yytext); RETURN(syNumber); }
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 200 "../gnumach/mig/lexxer.l"
+#line 200 "lexxer.l"
{ yylval.string = strmake(yytext);
BEGIN Normal; RETURN(syString); }
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 202 "../gnumach/mig/lexxer.l"
+#line 202 "lexxer.l"
{ yylval.string = strmake(yytext);
BEGIN Normal; RETURN(syFileName); }
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 204 "../gnumach/mig/lexxer.l"
+#line 204 "lexxer.l"
{ yylval.string = strmake(yytext);
BEGIN Normal; RETURN(syQString); }
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 207 "../gnumach/mig/lexxer.l"
+#line 207 "lexxer.l"
{ doSharp(yytext+1);
SAVE_BEGIN;
BEGIN SkipToEOL; }
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 210 "../gnumach/mig/lexxer.l"
+#line 210 "lexxer.l"
{ doSharp(yytext+1);
SAVE_BEGIN;
BEGIN SkipToEOL; }
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 213 "../gnumach/mig/lexxer.l"
+#line 213 "lexxer.l"
{ yyerror("illegal # directive");
SAVE_BEGIN;
BEGIN SkipToEOL; }
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 217 "../gnumach/mig/lexxer.l"
+#line 217 "lexxer.l"
RSTR_BEGIN;
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 218 "../gnumach/mig/lexxer.l"
+#line 218 "lexxer.l"
;
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 220 "../gnumach/mig/lexxer.l"
+#line 220 "lexxer.l"
;
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 221 "../gnumach/mig/lexxer.l"
+#line 221 "lexxer.l"
{ lineno++; }
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 222 "../gnumach/mig/lexxer.l"
+#line 222 "lexxer.l"
{ BEGIN Normal; RETURN(syError); }
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 224 "../gnumach/mig/lexxer.l"
+#line 224 "lexxer.l"
ECHO;
YY_BREAK
-#line 1606 "lex.yy.c"
+#line 1612 "lex.yy.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(Normal):
case YY_STATE_EOF(String):
@@ -1618,6 +1624,7 @@ case YY_STATE_EOF(SkipToEOL):
/* Undo the effects of YY_DO_BEFORE_ACTION. */
*yy_cp = yy_hold_char;
+ YY_RESTORE_YY_MORE_OFFSET
if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
{
@@ -1763,7 +1770,7 @@ static int yy_get_next_buffer()
{ /* Don't try to fill the buffer, so this is an EOF. */
if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
{
- /* We matched a singled characater, the EOB, so
+ /* We matched a single character, the EOB, so
* treat this as a final EOF.
*/
return EOB_ACT_END_OF_FILE;
@@ -1790,7 +1797,7 @@ static int yy_get_next_buffer()
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
- yy_n_chars = 0;
+ yy_current_buffer->yy_n_chars = yy_n_chars = 0;
else
{
@@ -1845,6 +1852,8 @@ static int yy_get_next_buffer()
/* Read in more data. */
YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
yy_n_chars, num_to_read );
+
+ yy_current_buffer->yy_n_chars = yy_n_chars;
}
if ( yy_n_chars == 0 )
@@ -1970,7 +1979,8 @@ register char *yy_bp;
yy_cp += (int) (dest - source);
yy_bp += (int) (dest - source);
- yy_n_chars = yy_current_buffer->yy_buf_size;
+ yy_current_buffer->yy_n_chars =
+ yy_n_chars = yy_current_buffer->yy_buf_size;
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
YY_FATAL_ERROR( "flex scanner push-back overflow" );
@@ -2008,19 +2018,31 @@ static int input()
else
{ /* need more input */
- yytext_ptr = yy_c_buf_p;
+ int offset = yy_c_buf_p - yytext_ptr;
++yy_c_buf_p;
switch ( yy_get_next_buffer() )
{
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart( yyin );
+
+ /* fall through */
+
case EOB_ACT_END_OF_FILE:
{
if ( yywrap() )
- {
- yy_c_buf_p =
- yytext_ptr + YY_MORE_ADJ;
return EOF;
- }
if ( ! yy_did_buffer_switch_on_eof )
YY_NEW_FILE;
@@ -2032,17 +2054,8 @@ static int input()
}
case EOB_ACT_CONTINUE_SCAN:
- yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+ yy_c_buf_p = yytext_ptr + offset;
break;
-
- case EOB_ACT_LAST_MATCH:
-#ifdef __cplusplus
- YY_FATAL_ERROR(
- "unexpected last match in yyinput()" );
-#else
- YY_FATAL_ERROR(
- "unexpected last match in input()" );
-#endif
}
}
}
@@ -2207,6 +2220,9 @@ YY_BUFFER_STATE b;
#endif
{
+ if ( ! b )
+ return;
+
b->yy_n_chars = 0;
/* We always need two end-of-buffer characters. The first causes
@@ -2266,17 +2282,17 @@ yy_size_t size;
#ifndef YY_NO_SCAN_STRING
#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *str )
+YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
#else
-YY_BUFFER_STATE yy_scan_string( str )
-yyconst char *str;
+YY_BUFFER_STATE yy_scan_string( yy_str )
+yyconst char *yy_str;
#endif
{
int len;
- for ( len = 0; str[len]; ++len )
+ for ( len = 0; yy_str[len]; ++len )
;
- return yy_scan_bytes( str, len );
+ return yy_scan_bytes( yy_str, len );
}
#endif
@@ -2397,7 +2413,7 @@ char msg[];
{ \
/* Undo effects of setting up yytext. */ \
yytext[yyleng] = yy_hold_char; \
- yy_c_buf_p = yytext + n - YY_MORE_ADJ; \
+ yy_c_buf_p = yytext + n; \
yy_hold_char = *yy_c_buf_p; \
*yy_c_buf_p = '\0'; \
yyleng = n; \
@@ -2423,6 +2439,22 @@ int n;
}
#endif
+#ifdef YY_NEED_STRLEN
+#ifdef YY_USE_PROTOS
+static int yy_flex_strlen( yyconst char *s )
+#else
+static int yy_flex_strlen( s )
+yyconst char *s;
+#endif
+ {
+ register int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+ }
+#endif
+
#ifdef YY_USE_PROTOS
static void *yy_flex_alloc( yy_size_t size )
@@ -2469,7 +2501,7 @@ int main()
return 0;
}
#endif
-#line 224 "../gnumach/mig/lexxer.l"
+#line 224 "lexxer.l"
extern void
diff --git a/parser.c b/parser.c
index c2ba442..5ba041c 100644
--- a/parser.c
+++ b/parser.c
@@ -1,6 +1,6 @@
-/* A Bison parser, made from ../gnumach/mig/parser.y
- by Bison version A2.5 (Andrew Consortium)
+/* A Bison parser, made from parser.y
+ by GNU Bison version 1.25
*/
#define YYBISON 1 /* Identify Bison output. */
@@ -70,7 +70,7 @@
#define syFileName 320
#define syIPCFlag 321
-#line 117 "../gnumach/mig/parser.y"
+#line 117 "parser.y"
#include <stdio.h>
@@ -91,7 +91,7 @@ yyerror(const char *s)
error(s);
}
-#line 138 "../gnumach/mig/parser.y"
+#line 138 "parser.y"
typedef union
{
u_int number;
@@ -236,7 +236,7 @@ static const short yyrline[] = { 0,
#endif
-#if YYDEBUG != 0
+#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
static const char * const yytname[] = { "$","error","$undefined.","sySkip",
"syRoutine","sySimpleRoutine","sySimpleProcedure","syProcedure","syFunction",
@@ -407,7 +407,7 @@ static const short yycheck[] = { 10,
66, 62, 126, -1, 107, -1, -1, 62, 62
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
-#line 3 "/usr/share/bison.simple"
+#line 3 "/usr/lib/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
@@ -562,16 +562,16 @@ int yyparse (void);
#endif
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
-#define __yy_memcpy(FROM,TO,COUNT) __builtin_memcpy(TO,FROM,COUNT)
+#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#else /* not GNU C or C++ */
#ifndef __cplusplus
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
-__yy_memcpy (from, to, count)
- char *from;
+__yy_memcpy (to, from, count)
char *to;
+ char *from;
int count;
{
register char *f = from;
@@ -587,7 +587,7 @@ __yy_memcpy (from, to, count)
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
-__yy_memcpy (char *from, char *to, int count)
+__yy_memcpy (char *to, char *from, int count)
{
register char *f = from;
register char *t = to;
@@ -600,7 +600,7 @@ __yy_memcpy (char *from, char *to, int count)
#endif
#endif
-#line 192 "/usr/share/bison.simple"
+#line 196 "/usr/lib/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
@@ -609,14 +609,20 @@ __yy_memcpy (char *from, char *to, int count)
to the proper pointer type. */
#ifdef YYPARSE_PARAM
+#ifdef __cplusplus
+#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
+#define YYPARSE_PARAM_DECL
+#else /* not __cplusplus */
+#define YYPARSE_PARAM_ARG YYPARSE_PARAM
#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#else
-#define YYPARSE_PARAM
+#endif /* not __cplusplus */
+#else /* not YYPARSE_PARAM */
+#define YYPARSE_PARAM_ARG
#define YYPARSE_PARAM_DECL
-#endif
+#endif /* not YYPARSE_PARAM */
int
-yyparse(YYPARSE_PARAM)
+yyparse(YYPARSE_PARAM_ARG)
YYPARSE_PARAM_DECL
{
register int yystate;
@@ -733,12 +739,12 @@ yynewstate:
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
- __yy_memcpy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
+ __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
- __yy_memcpy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
+ __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
#ifdef YYLSP_NEEDED
yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
- __yy_memcpy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
+ __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
#endif
#endif /* no yyoverflow */
@@ -899,7 +905,7 @@ yyreduce:
switch (yyn) {
case 11:
-#line 174 "../gnumach/mig/parser.y"
+#line 174 "parser.y"
{
register statement_t *st = stAlloc();
@@ -911,19 +917,19 @@ case 11:
;
break;}
case 12:
-#line 184 "../gnumach/mig/parser.y"
+#line 184 "parser.y"
{ rtSkip(1); ;
break;}
case 13:
-#line 186 "../gnumach/mig/parser.y"
+#line 186 "parser.y"
{ rtSkip(yyvsp[-1].number); ;
break;}
case 17:
-#line 191 "../gnumach/mig/parser.y"
+#line 191 "parser.y"
{ yyerrok; ;
break;}
case 18:
-#line 196 "../gnumach/mig/parser.y"
+#line 196 "parser.y"
{
if (BeVerbose)
{
@@ -935,7 +941,7 @@ case 18:
;
break;}
case 19:
-#line 208 "../gnumach/mig/parser.y"
+#line 208 "parser.y"
{
if (SubsystemName != strNULL)
{
@@ -947,7 +953,7 @@ case 19:
;
break;}
case 22:
-#line 224 "../gnumach/mig/parser.y"
+#line 224 "parser.y"
{
if (IsKernelUser)
warn("duplicate KernelUser keyword");
@@ -955,7 +961,7 @@ case 22:
;
break;}
case 23:
-#line 230 "../gnumach/mig/parser.y"
+#line 230 "parser.y"
{
if (IsKernelServer)
warn("duplicate KernelServer keyword");
@@ -963,15 +969,15 @@ case 23:
;
break;}
case 24:
-#line 237 "../gnumach/mig/parser.y"
+#line 237 "parser.y"
{ SubsystemName = yyvsp[0].identifier; ;
break;}
case 25:
-#line 240 "../gnumach/mig/parser.y"
+#line 240 "parser.y"
{ SubsystemBase = yyvsp[0].number; ;
break;}
case 26:
-#line 244 "../gnumach/mig/parser.y"
+#line 244 "parser.y"
{
if (streql(yyvsp[0].string, "MACH_MSG_OPTION_NONE"))
{
@@ -988,7 +994,7 @@ case 26:
;
break;}
case 27:
-#line 261 "../gnumach/mig/parser.y"
+#line 261 "parser.y"
{
WaitTime = yyvsp[0].string;
if (BeVerbose)
@@ -996,7 +1002,7 @@ case 27:
;
break;}
case 28:
-#line 267 "../gnumach/mig/parser.y"
+#line 267 "parser.y"
{
WaitTime = strNULL;
if (BeVerbose)
@@ -1004,7 +1010,7 @@ case 28:
;
break;}
case 29:
-#line 275 "../gnumach/mig/parser.y"
+#line 275 "parser.y"
{
ErrorProc = yyvsp[0].identifier;
if (BeVerbose)
@@ -1012,7 +1018,7 @@ case 29:
;
break;}
case 30:
-#line 283 "../gnumach/mig/parser.y"
+#line 283 "parser.y"
{
ServerPrefix = yyvsp[0].identifier;
if (BeVerbose)
@@ -1020,7 +1026,7 @@ case 30:
;
break;}
case 31:
-#line 291 "../gnumach/mig/parser.y"
+#line 291 "parser.y"
{
UserPrefix = yyvsp[0].identifier;
if (BeVerbose)
@@ -1028,7 +1034,7 @@ case 31:
;
break;}
case 32:
-#line 299 "../gnumach/mig/parser.y"
+#line 299 "parser.y"
{
ServerDemux = yyvsp[0].identifier;
if (BeVerbose)
@@ -1036,7 +1042,7 @@ case 32:
;
break;}
case 33:
-#line 307 "../gnumach/mig/parser.y"
+#line 307 "parser.y"
{
register statement_t *st = stAlloc();
st->stKind = yyvsp[-1].statement_kind;
@@ -1047,19 +1053,19 @@ case 33:
;
break;}
case 34:
-#line 317 "../gnumach/mig/parser.y"
+#line 317 "parser.y"
{ yyval.statement_kind = skImport; ;
break;}
case 35:
-#line 318 "../gnumach/mig/parser.y"
+#line 318 "parser.y"
{ yyval.statement_kind = skUImport; ;
break;}
case 36:
-#line 319 "../gnumach/mig/parser.y"
+#line 319 "parser.y"
{ yyval.statement_kind = skSImport; ;
break;}
case 37:
-#line 323 "../gnumach/mig/parser.y"
+#line 323 "parser.y"
{
if (RCSId != strNULL)
warn("previous RCS decl will be ignored");
@@ -1069,7 +1075,7 @@ case 37:
;
break;}
case 38:
-#line 333 "../gnumach/mig/parser.y"
+#line 333 "parser.y"
{
register identifier_t name = yyvsp[0].type->itName;
@@ -1079,15 +1085,15 @@ case 38:
;
break;}
case 39:
-#line 343 "../gnumach/mig/parser.y"
+#line 343 "parser.y"
{ itTypeDecl(yyvsp[-2].identifier, yyval.type = yyvsp[0].type); ;
break;}
case 40:
-#line 347 "../gnumach/mig/parser.y"
+#line 347 "parser.y"
{ yyval.type = itResetType(yyvsp[0].type); ;
break;}
case 41:
-#line 350 "../gnumach/mig/parser.y"
+#line 350 "parser.y"
{
yyval.type = yyvsp[-7].type;
@@ -1108,7 +1114,7 @@ case 41:
;
break;}
case 42:
-#line 370 "../gnumach/mig/parser.y"
+#line 370 "parser.y"
{
yyval.type = yyvsp[-7].type;
@@ -1129,7 +1135,7 @@ case 42:
;
break;}
case 43:
-#line 390 "../gnumach/mig/parser.y"
+#line 390 "parser.y"
{
yyval.type = yyvsp[-6].type;
@@ -1145,7 +1151,7 @@ case 43:
;
break;}
case 44:
-#line 404 "../gnumach/mig/parser.y"
+#line 404 "parser.y"
{
yyval.type = yyvsp[-3].type;
@@ -1161,7 +1167,7 @@ case 44:
;
break;}
case 45:
-#line 418 "../gnumach/mig/parser.y"
+#line 418 "parser.y"
{
yyval.type = yyvsp[-3].type;
@@ -1172,7 +1178,7 @@ case 45:
;
break;}
case 46:
-#line 428 "../gnumach/mig/parser.y"
+#line 428 "parser.y"
{
yyval.type = yyvsp[-3].type;
@@ -1183,35 +1189,35 @@ case 46:
;
break;}
case 47:
-#line 439 "../gnumach/mig/parser.y"
+#line 439 "parser.y"
{ yyval.type = yyvsp[0].type; ;
break;}
case 48:
-#line 441 "../gnumach/mig/parser.y"
+#line 441 "parser.y"
{ yyval.type = yyvsp[0].type; ;
break;}
case 49:
-#line 443 "../gnumach/mig/parser.y"
+#line 443 "parser.y"
{ yyval.type = itVarArrayDecl(yyvsp[-1].number, yyvsp[0].type); ;
break;}
case 50:
-#line 445 "../gnumach/mig/parser.y"
+#line 445 "parser.y"
{ yyval.type = itArrayDecl(yyvsp[-1].number, yyvsp[0].type); ;
break;}
case 51:
-#line 447 "../gnumach/mig/parser.y"
+#line 447 "parser.y"
{ yyval.type = itPtrDecl(yyvsp[0].type); ;
break;}
case 52:
-#line 449 "../gnumach/mig/parser.y"
+#line 449 "parser.y"
{ yyval.type = itStructDecl(yyvsp[-1].number, yyvsp[0].type); ;
break;}
case 53:
-#line 451 "../gnumach/mig/parser.y"
+#line 451 "parser.y"
{ yyval.type = yyvsp[0].type; ;
break;}
case 54:
-#line 455 "../gnumach/mig/parser.y"
+#line 455 "parser.y"
{
yyval.type = itShortDecl(yyvsp[0].symtype.innumber, yyvsp[0].symtype.instr,
yyvsp[0].symtype.outnumber, yyvsp[0].symtype.outstr,
@@ -1219,7 +1225,7 @@ case 54:
;
break;}
case 55:
-#line 462 "../gnumach/mig/parser.y"
+#line 462 "parser.y"
{
yyval.type = itLongDecl(yyvsp[-4].symtype.innumber, yyvsp[-4].symtype.instr,
yyvsp[-4].symtype.outnumber, yyvsp[-4].symtype.outstr,
@@ -1227,11 +1233,11 @@ case 55:
;
break;}
case 56:
-#line 470 "../gnumach/mig/parser.y"
+#line 470 "parser.y"
{ yyval.flag = flNone; ;
break;}
case 57:
-#line 472 "../gnumach/mig/parser.y"
+#line 472 "parser.y"
{
if (yyvsp[-2].flag & yyvsp[0].flag)
warn("redundant IPC flag ignored");
@@ -1240,7 +1246,7 @@ case 57:
;
break;}
case 58:
-#line 479 "../gnumach/mig/parser.y"
+#line 479 "parser.y"
{
if (yyvsp[-2].flag != flDealloc)
warn("only Dealloc is variable");
@@ -1249,7 +1255,7 @@ case 58:
;
break;}
case 59:
-#line 488 "../gnumach/mig/parser.y"
+#line 488 "parser.y"
{
yyval.symtype.innumber = yyval.symtype.outnumber = yyvsp[0].number;
yyval.symtype.instr = yyval.symtype.outstr = strNULL;
@@ -1257,15 +1263,15 @@ case 59:
;
break;}
case 60:
-#line 494 "../gnumach/mig/parser.y"
+#line 494 "parser.y"
{ yyval.symtype = yyvsp[0].symtype; ;
break;}
case 61:
-#line 498 "../gnumach/mig/parser.y"
+#line 498 "parser.y"
{ yyval.symtype = yyvsp[0].symtype; ;
break;}
case 62:
-#line 500 "../gnumach/mig/parser.y"
+#line 500 "parser.y"
{
if (yyvsp[-2].symtype.size != yyvsp[0].symtype.size)
{
@@ -1289,122 +1295,122 @@ case 62:
;
break;}
case 63:
-#line 524 "../gnumach/mig/parser.y"
+#line 524 "parser.y"
{ yyval.type = itPrevDecl(yyvsp[0].identifier); ;
break;}
case 64:
-#line 528 "../gnumach/mig/parser.y"
+#line 528 "parser.y"
{ yyval.number = 0; ;
break;}
case 65:
-#line 530 "../gnumach/mig/parser.y"
+#line 530 "parser.y"
{ yyval.number = 0; ;
break;}
case 66:
-#line 533 "../gnumach/mig/parser.y"
+#line 533 "parser.y"
{ yyval.number = yyvsp[-2].number; ;
break;}
case 67:
-#line 537 "../gnumach/mig/parser.y"
+#line 537 "parser.y"
{ yyval.number = yyvsp[-2].number; ;
break;}
case 68:
-#line 541 "../gnumach/mig/parser.y"
+#line 541 "parser.y"
{ yyval.number = yyvsp[-2].number; ;
break;}
case 69:
-#line 545 "../gnumach/mig/parser.y"
+#line 545 "parser.y"
{ yyval.type = itCStringDecl(yyvsp[-1].number, FALSE); ;
break;}
case 70:
-#line 548 "../gnumach/mig/parser.y"
+#line 548 "parser.y"
{ yyval.type = itCStringDecl(yyvsp[-1].number, TRUE); ;
break;}
case 71:
-#line 552 "../gnumach/mig/parser.y"
+#line 552 "parser.y"
{ yyval.number = yyvsp[-2].number + yyvsp[0].number; ;
break;}
case 72:
-#line 554 "../gnumach/mig/parser.y"
+#line 554 "parser.y"
{ yyval.number = yyvsp[-2].number - yyvsp[0].number; ;
break;}
case 73:
-#line 556 "../gnumach/mig/parser.y"
+#line 556 "parser.y"
{ yyval.number = yyvsp[-2].number * yyvsp[0].number; ;
break;}
case 74:
-#line 558 "../gnumach/mig/parser.y"
+#line 558 "parser.y"
{ yyval.number = yyvsp[-2].number / yyvsp[0].number; ;
break;}
case 75:
-#line 560 "../gnumach/mig/parser.y"
+#line 560 "parser.y"
{ yyval.number = yyvsp[0].number; ;
break;}
case 76:
-#line 562 "../gnumach/mig/parser.y"
+#line 562 "parser.y"
{ yyval.number = yyvsp[-1].number; ;
break;}
case 77:
-#line 566 "../gnumach/mig/parser.y"
+#line 566 "parser.y"
{ yyval.routine = yyvsp[0].routine; ;
break;}
case 78:
-#line 567 "../gnumach/mig/parser.y"
+#line 567 "parser.y"
{ yyval.routine = yyvsp[0].routine; ;
break;}
case 79:
-#line 568 "../gnumach/mig/parser.y"
+#line 568 "parser.y"
{ yyval.routine = yyvsp[0].routine; ;
break;}
case 80:
-#line 569 "../gnumach/mig/parser.y"
+#line 569 "parser.y"
{ yyval.routine = yyvsp[0].routine; ;
break;}
case 81:
-#line 570 "../gnumach/mig/parser.y"
+#line 570 "parser.y"
{ yyval.routine = yyvsp[0].routine; ;
break;}
case 82:
-#line 574 "../gnumach/mig/parser.y"
+#line 574 "parser.y"
{ yyval.routine = rtMakeRoutine(yyvsp[-1].identifier, yyvsp[0].argument); ;
break;}
case 83:
-#line 578 "../gnumach/mig/parser.y"
+#line 578 "parser.y"
{ yyval.routine = rtMakeSimpleRoutine(yyvsp[-1].identifier, yyvsp[0].argument); ;
break;}
case 84:
-#line 582 "../gnumach/mig/parser.y"
+#line 582 "parser.y"
{ yyval.routine = rtMakeProcedure(yyvsp[-1].identifier, yyvsp[0].argument); ;
break;}
case 85:
-#line 586 "../gnumach/mig/parser.y"
+#line 586 "parser.y"
{ yyval.routine = rtMakeSimpleProcedure(yyvsp[-1].identifier, yyvsp[0].argument); ;
break;}
case 86:
-#line 590 "../gnumach/mig/parser.y"
+#line 590 "parser.y"
{ yyval.routine = rtMakeFunction(yyvsp[-2].identifier, yyvsp[-1].argument, yyvsp[0].type); ;
break;}
case 87:
-#line 594 "../gnumach/mig/parser.y"
+#line 594 "parser.y"
{ yyval.argument = argNULL; ;
break;}
case 88:
-#line 596 "../gnumach/mig/parser.y"
+#line 596 "parser.y"
{ yyval.argument = yyvsp[-1].argument; ;
break;}
case 89:
-#line 601 "../gnumach/mig/parser.y"
+#line 601 "parser.y"
{ yyval.argument = yyvsp[0].argument; ;
break;}
case 90:
-#line 603 "../gnumach/mig/parser.y"
+#line 603 "parser.y"
{
yyval.argument = yyvsp[-2].argument;
yyval.argument->argNext = yyvsp[0].argument;
;
break;}
case 91:
-#line 610 "../gnumach/mig/parser.y"
+#line 610 "parser.y"
{
yyval.argument = argAlloc();
yyval.argument->argKind = yyvsp[-3].direction;
@@ -1414,51 +1420,51 @@ case 91:
;
break;}
case 92:
-#line 619 "../gnumach/mig/parser.y"
+#line 619 "parser.y"
{ yyval.direction = akNone; ;
break;}
case 93:
-#line 620 "../gnumach/mig/parser.y"
+#line 620 "parser.y"
{ yyval.direction = akIn; ;
break;}
case 94:
-#line 621 "../gnumach/mig/parser.y"
+#line 621 "parser.y"
{ yyval.direction = akOut; ;
break;}
case 95:
-#line 622 "../gnumach/mig/parser.y"
+#line 622 "parser.y"
{ yyval.direction = akInOut; ;
break;}
case 96:
-#line 623 "../gnumach/mig/parser.y"
+#line 623 "parser.y"
{ yyval.direction = akRequestPort; ;
break;}
case 97:
-#line 624 "../gnumach/mig/parser.y"
+#line 624 "parser.y"
{ yyval.direction = akReplyPort; ;
break;}
case 98:
-#line 625 "../gnumach/mig/parser.y"
+#line 625 "parser.y"
{ yyval.direction = akSReplyPort; ;
break;}
case 99:
-#line 626 "../gnumach/mig/parser.y"
+#line 626 "parser.y"
{ yyval.direction = akUReplyPort; ;
break;}
case 100:
-#line 627 "../gnumach/mig/parser.y"
+#line 627 "parser.y"
{ yyval.direction = akWaitTime; ;
break;}
case 101:
-#line 628 "../gnumach/mig/parser.y"
+#line 628 "parser.y"
{ yyval.direction = akMsgOption; ;
break;}
case 102:
-#line 629 "../gnumach/mig/parser.y"
+#line 629 "parser.y"
{ yyval.direction = akMsgSeqno; ;
break;}
case 103:
-#line 633 "../gnumach/mig/parser.y"
+#line 633 "parser.y"
{
yyval.type = itLookUp(yyvsp[0].identifier);
if (yyval.type == itNULL)
@@ -1466,24 +1472,24 @@ case 103:
;
break;}
case 104:
-#line 639 "../gnumach/mig/parser.y"
+#line 639 "parser.y"
{ yyval.type = yyvsp[0].type; ;
break;}
case 105:
-#line 643 "../gnumach/mig/parser.y"
+#line 643 "parser.y"
{ LookString(); ;
break;}
case 106:
-#line 647 "../gnumach/mig/parser.y"
+#line 647 "parser.y"
{ LookFileName(); ;
break;}
case 107:
-#line 651 "../gnumach/mig/parser.y"
+#line 651 "parser.y"
{ LookQString(); ;
break;}
}
/* the action file gets copied in in place of this dollarsign */
-#line 487 "/usr/share/bison.simple"
+#line 498 "/usr/lib/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
@@ -1679,7 +1685,7 @@ yyerrhandle:
yystate = yyn;
goto yynewstate;
}
-#line 654 "../gnumach/mig/parser.y"
+#line 654 "parser.y"
static const char *