examples: check the variant example

* examples/mfcalc/local.mk, examples/rpcalc/local.mk: Define the
programs in a more natural order, source, preproc, then linker.

* examples/test: Be ready to work on programs that are not in
a subdir.
* examples/variant.test: New.
* examples/local.mk: Use it.
* examples/variant.yy: Don't use 0 for nullptr.
Use a more natural output for a list of string.
This commit is contained in:
Akim Demaille
2018-08-19 10:55:08 +02:00
parent f348522005
commit b610f43f25
6 changed files with 44 additions and 8 deletions

View File

@@ -50,7 +50,7 @@ typedef std::vector<std::string> strings_type;
std::ostream&
operator<< (std::ostream& o, const strings_type& ss)
{
o << '(' << &ss << ") {";
o << '{';
const char *sep = "";
for (strings_type::const_iterator i = ss.begin(), end = ss.end();
i != end; ++i)
@@ -75,7 +75,7 @@ typedef std::vector<std::string> strings_type;
%token <::std::string> TEXT;
%token <int> NUMBER;
%printer { yyoutput << $$; } <*>;
%printer { yyo << '(' << &$$ << ") " << $$; } <*>;
%token END_OF_FILE 0;
%type <::std::string> item;
@@ -114,7 +114,7 @@ namespace yy
{
static int stage = -1;
++stage;
parser::location_type loc(0, stage + 1, stage + 1);
parser::location_type loc(YY_NULLPTR, stage + 1, stage + 1);
switch (stage)
{
case 0: