--- ../yacc/skeleton.c	1993-12-22 14:28:01.000000000 +0300
+++ skeleton.c	2004-01-29 23:05:26.000000000 +0300
@@ -16,7 +16,7 @@
 {
     "#ifndef lint",
     "/*static char yysccsid[] = \"from: @(#)yaccpar	1.9 (Berkeley) 02/21/93\";*/",
-    "static char yyrcsid[] = \"$Id: skeleton.c,v 1.4 1993/12/21 18:45:32 jtc Exp $\";",
+    "static char yyrcsid[] = \"$Id: skeleton.c,v 1.4 1993/12/21 18:45:32 jtc Exp $\\n 2002/10/22 VD reiser4\";",
     "#endif",
     "#define YYBYACC 1",
     "#define YYMAJOR 1",
@@ -30,6 +30,9 @@
 
 char *tables[] =
 {
+    "#if defined(YYREISER4_DEF)",
+    "#define extern static",
+    "#endif",
     "extern short yylhs[];",
     "extern short yylen[];",
     "extern short yydefred[];",
@@ -49,28 +52,45 @@
 
 char *header[] =
 {
-    "#ifdef YYSTACKSIZE",
-    "#undef YYMAXDEPTH",
-    "#define YYMAXDEPTH YYSTACKSIZE",
-    "#else",
-    "#ifdef YYMAXDEPTH",
-    "#define YYSTACKSIZE YYMAXDEPTH",
+    "#if defined(YYREISER4_DEF)",
+      "#define YYSTACKSIZE 500",
+      "#define YYMAXDEPTH 500",
+      "#define yydebug ws->ws_yydebug ",
+      "#define yynerrs ws->ws_yynerrs",
+      "#define yyerrflag ws->ws_yyerrflag",
+      "#define yychar ws->ws_yychar",
+      "#define yyssp ws->ws_yyssp",
+      "#define yyvsp ws->ws_yyvsp",
+      "#define yyval ws->ws_yyval",
+      "#define yylval ws->ws_yylval",
+      "#define yyss ws->ws_yyss",
+      "#define yyvs ws->ws_yyvs",
+      "#define yystacksize ws->ws_yystacksize",
     "#else",
-    "#define YYSTACKSIZE 500",
-    "#define YYMAXDEPTH 500",
+      "#ifdef YYSTACKSIZE",
+        "#undef YYMAXDEPTH",
+        "#define YYMAXDEPTH YYSTACKSIZE",
+      "#else",
+        "#ifdef YYMAXDEPTH",
+          "#define YYSTACKSIZE YYMAXDEPTH",
+        "#else",
+          "#define YYSTACKSIZE 500",
+          "#define YYMAXDEPTH 500",
+        "#endif",
+      "#endif",
+      "int yydebug;",
+      "int yynerrs;",
+      "int yyerrflag;",
+      "int yychar;",
+      "short *yyssp;",
+      "YYSTYPE *yyvsp;",
+      "YYSTYPE yyval;",
+      "YYSTYPE yylval;",
+      "short yyss[YYSTACKSIZE];",
+      "YYSTYPE yyvs[YYSTACKSIZE];",
+      "#define yystacksize YYSTACKSIZE",
     "#endif",
-    "#endif",
-    "int yydebug;",
-    "int yynerrs;",
-    "int yyerrflag;",
-    "int yychar;",
-    "short *yyssp;",
-    "YYSTYPE *yyvsp;",
-    "YYSTYPE yyval;",
-    "YYSTYPE yylval;",
-    "short yyss[YYSTACKSIZE];",
-    "YYSTYPE yyvs[YYSTACKSIZE];",
-    "#define yystacksize YYSTACKSIZE",
+
     0
 };
 
@@ -82,11 +102,15 @@
     "#define YYACCEPT goto yyaccept",
     "#define YYERROR goto yyerrlab",
     "int",
+    "#if defined(YYREISER4_DEF)",
+    "yyparse(struct reiser4_syscall_w_space  * ws)",
+    "#else",
     "#if defined(__STDC__)",
     "yyparse(void)",
     "#else",
     "yyparse()",
     "#endif",
+    "#endif",
     "{",
     "    register int yym, yyn, yystate;",
     "#if YYDEBUG",
@@ -150,7 +174,11 @@
     "        goto yyreduce;",
     "    }",
     "    if (yyerrflag) goto yyinrecovery;",
+    "#if defined(YYREISER4_DEF)",
+    "    yyerror(ws,11111,yystate,yychar);",
+    "#else ",
     "    yyerror(\"syntax error\");",
+    "#endif",
     "#ifdef lint",
     "    goto yyerrlab;",
     "#endif",
@@ -275,7 +303,11 @@
     "    *++yyvsp = yyval;",
     "    goto yyloop;",
     "yyoverflow:",
+    "#if defined(YYREISER4_DEF)",
+    "    yyerror(ws,101); /*yacc stack overflow*/",
+    "#else ",
     "    yyerror(\"yacc stack overflow\");",
+    "#endif",
     "yyabort:",
     "    return (1);",
     "yyaccept:",
