/* Complete with parse_dquoted_param () on the CVS branch 1.29. */
}
+/*---------------------------------------.
+| Parse what comes after %skeleton_path. |
+`---------------------------------------*/
+
+void
+parse_include_decl (void)
+{
+ /* Complete with parse_dquoted_param () on the CVS branch 1.29. */
+}
+
/*----------------------------------------------------------------.
| Read from finput until `%%' is seen. Discard the `%%'. Handle |
| any `%' declarations, and copy the contents of any `%{ ... %}' |
parse_skel_decl ();
break;
+ case tok_include:
+ parse_include_decl ();
+ break;
+
case tok_noop:
break;
case tok_stropt:
case tok_intopt:
case tok_obsolete:
- case tok_illegal:
abort ();
break;
+ case tok_illegal:
default:
complain (_("unrecognized: %s"), token_buffer);
skip_to_char ('%');
/* Make a dummy nonterminal, a gensym. */
bucket *sdummy = gensym ();
- /* Make a new rule, whose body is empty,
- before the current one, so that the action
- just read can belong to it. */
+ /* Make a new rule, whose body is empty, before the
+ current one, so that the action just read can
+ belong to it. */
nrules++;
nitems++;
p = symbol_list_new (sdummy);
+ /* Attach its lineno to that of the host rule. */
+ p->line = crule->line;
if (crule1)
crule1->next = p;
else