* src/ltlparse/public.hh (format_parse_errors): New function.
* src/ltlparse/fmterror.cc: New file. * src/ltlparse/Makefile.am (libltlparse_a_SOURCES): Add fmterror.cc. * src/ltltests/equals.cc, src/ltltests/readltl.cc: Simplify using format_parse_errors.
This commit is contained in:
parent
7425f4a91e
commit
532f9131f5
6 changed files with 52 additions and 41 deletions
35
src/ltlparse/fmterror.cc
Normal file
35
src/ltlparse/fmterror.cc
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
#include "public.hh"
|
||||
|
||||
namespace spot
|
||||
{
|
||||
namespace ltl
|
||||
{
|
||||
|
||||
bool
|
||||
format_parse_errors(std::ostream& os,
|
||||
const std::string& ltl_string,
|
||||
parse_error_list& error_list)
|
||||
{
|
||||
bool printed = false;
|
||||
spot::ltl::parse_error_list::iterator it;
|
||||
for (it = error_list.begin(); it != error_list.end(); ++it)
|
||||
{
|
||||
os << ">>> " << ltl_string << std::endl;
|
||||
yy::Location& l = it->first;
|
||||
|
||||
unsigned n = 0;
|
||||
for (; n < 4 + l.begin.column; ++n)
|
||||
os << ' ';
|
||||
// Write at least one '^', even if begin==end.
|
||||
os << '^';
|
||||
++n;
|
||||
for (; n < 4 + l.end.column; ++n)
|
||||
os << '^';
|
||||
os << std::endl << it->second << std::endl << std::endl;
|
||||
printed = true;
|
||||
}
|
||||
return printed;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue