- {
- /* Otherwise, the short base name is computed from the input
- grammar: `foo/bar.yy' => `bar'. */
- filename_split (grammar_file, &base, &tab, &ext);
- short_base_name =
- xstrndup (base,
- (strlen (base) - (ext ? strlen (ext) : 0)));
- }
-
- full_base_name = XMALLOC (char,
- strlen (short_base_name)
- + strlen (TAB_EXT) + 1);
- stpcpy (stpcpy (full_base_name, short_base_name), TAB_EXT);
-
- /* Computes the extensions from the grammar file name. */
- filename_split (grammar_file, &base, &tab, &ext);
+ {
+ /* Otherwise, ALL_BUT_TAB_EXT is computed from the input
+ grammar: `foo/bar.yy' => `bar'. */
+ dir_prefix = xstrdup ("");
+ all_but_tab_ext =
+ xstrndup (base, (strlen (base) - (ext ? strlen (ext) : 0)));
+ }
+
+ if (language->add_tab)
+ all_but_ext = concat2 (all_but_tab_ext, TAB_EXT);
+ else
+ all_but_ext = xstrdup (all_but_tab_ext);
+
+ /* Compute the extensions from the grammar file name. */