<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2001 - 2017 The SCons Foundation

This file is processed by the bin/SConsDoc.py module.
See its __doc__ string for a discussion of the format.
-->

<!DOCTYPE sconsdoc [
<!ENTITY % scons SYSTEM '../../../../doc/scons.mod'>
%scons;
<!ENTITY % builders-mod SYSTEM '../../../../doc/generated/builders.mod'>
%builders-mod;
<!ENTITY % functions-mod SYSTEM '../../../../doc/generated/functions.mod'>
%functions-mod;
<!ENTITY % tools-mod SYSTEM '../../../../doc/generated/tools.mod'>
%tools-mod;
<!ENTITY % variables-mod SYSTEM '../../../../doc/generated/variables.mod'>
%variables-mod;
]>

<sconsdoc xmlns="http://www.scons.org/dbxsd/v1.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">

<tool name="yacc">
<summary>
<para>
Sets construction variables for the &yacc; parse generator.
</para>
</summary>
<sets>
<item>YACC</item>
<item>YACCFLAGS</item>
<item>YACCCOM</item>
<item>YACCHFILESUFFIX</item>
<item>YACCHXXFILESUFFIX</item>
<item>YACCVCGFILESUFFIX</item>
</sets>
<uses>
<item>YACCCOMSTR</item>
</uses>
</tool>

<cvar name="YACC">
<summary>
<para>
The parser generator.
</para>
</summary>
</cvar>

<cvar name="YACCCOM">
<summary>
<para>
The command line used to call the parser generator
to generate a source file.
</para>
</summary>
</cvar>

<cvar name="YACCCOMSTR">
<summary>
<para>
The string displayed when generating a source file
using the parser generator.
If this is not set, then &cv-link-YACCCOM; (the command line) is displayed.
</para>

<example_commands>
env = Environment(YACCCOMSTR = "Yacc'ing $TARGET from $SOURCES")
</example_commands>
</summary>
</cvar>

<cvar name="YACCFLAGS">
<summary>
<para>
General options passed to the parser generator.
If &cv-link-YACCFLAGS; contains a <option>-d</option> option,
SCons assumes that the call will also create a .h file
(if the yacc source file ends in a .y suffix)
or a .hpp file
(if the yacc source file ends in a .yy suffix)
</para>
</summary>
</cvar>

<cvar name="YACCHFILESUFFIX">
<summary>
<para>
The suffix of the C
header file generated by the parser generator
when the
<option>-d</option>
option is used.
Note that setting this variable does not cause
the parser generator to generate a header
file with the specified suffix,
it exists to allow you to specify
what suffix the parser generator will use of its own accord.
The default value is
<filename>.h</filename>.
</para>
</summary>
</cvar>

<cvar name="YACCHXXFILESUFFIX">
<summary>
<para>
The suffix of the C++
header file generated by the parser generator
when the
<option>-d</option>
option is used.
Note that setting this variable does not cause
the parser generator to generate a header
file with the specified suffix,
it exists to allow you to specify
what suffix the parser generator will use of its own accord.
The default value is
<filename>.hpp</filename>,
except on Mac OS X,
where the default is
<filename>${TARGET.suffix}.h</filename>.
because the default &bison; parser generator just
appends <filename>.h</filename>
to the name of the generated C++ file.
</para>
</summary>
</cvar>

<cvar name="YACCVCGFILESUFFIX">
<summary>
<para>
The suffix of the file
containing the VCG grammar automaton definition
when the
<option>--graph=</option>
option is used.
Note that setting this variable does not cause
the parser generator to generate a VCG
file with the specified suffix,
it exists to allow you to specify
what suffix the parser generator will use of its own accord.
The default value is
<filename>.vcg</filename>.
</para>
</summary>
</cvar>

</sconsdoc>
