mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
Debug: Diagnostic output cleanup
This commit is contained in:
parent
b80964dac5
commit
53d8500000
3 changed files with 8 additions and 24 deletions
|
@ -232,9 +232,6 @@ std::string Grammar::dump () const
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
void Grammar::validate () const
|
||||
{
|
||||
if (_debug)
|
||||
std::cout << "Validating...\n";
|
||||
|
||||
if (_start == "")
|
||||
throw std::string ("There are no rules defined.");
|
||||
|
||||
|
|
20
src/LR0.cpp
20
src/LR0.cpp
|
@ -37,30 +37,16 @@ LR0::LR0 ()
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
void LR0::createParseTables (const Grammar& grammar)
|
||||
{
|
||||
if (_debug)
|
||||
{
|
||||
std::cout << "LR0::createParseTables\n";
|
||||
std::cout << " Start\n"
|
||||
<< " " << grammar.start () << "\n";
|
||||
|
||||
std::cout << " Non-Terminals\n";
|
||||
for (auto& rule : grammar.rules ())
|
||||
std::cout << " " << rule << "\n";
|
||||
|
||||
std::cout << " Terminals\n";
|
||||
for (auto& terminal : grammar.terminals ())
|
||||
std::cout << " " << terminal << "\n";
|
||||
}
|
||||
|
||||
// Obtain the augmented grammar.
|
||||
auto augmented = grammar.augmented ();
|
||||
|
||||
if (_debug)
|
||||
{
|
||||
std::cout << " Augmented Grammar\n";
|
||||
std::cout << "Augmented Grammar\n";
|
||||
auto count = 0;
|
||||
for (auto& item : augmented)
|
||||
{
|
||||
std::cout << " ";
|
||||
std::cout << " [" << count++ << "]";
|
||||
for (auto& term : item)
|
||||
std::cout << " " << term;
|
||||
std::cout << "\n";
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
int main (int argc, const char** argv)
|
||||
{
|
||||
int status = 0;
|
||||
bool debug = true;
|
||||
|
||||
// Lightweight version checking that doesn't require initialization or any I/O.
|
||||
if (argc == 2 && ! strcmp (argv[1], "--version"))
|
||||
|
@ -52,26 +53,26 @@ int main (int argc, const char** argv)
|
|||
// TODO Migrate from loading a grammar from file, to a default string.
|
||||
File cliFile ("./cli.grammar");
|
||||
Grammar cliGrammar;
|
||||
cliGrammar.debug (debug);
|
||||
cliGrammar.loadFromFile (cliFile);
|
||||
std::cout << cliGrammar.dump ();
|
||||
|
||||
// Instantiate the parser.
|
||||
LR0 cliParser;
|
||||
cliParser.debug (debug);
|
||||
cliParser.createParseTables (cliGrammar);
|
||||
std::cout << cliParser.dump ();
|
||||
|
||||
// TODO Parse CLI.
|
||||
|
||||
// TODO Load rule grammar.
|
||||
File ruleFile ("./rule.grammar");
|
||||
Grammar ruleGrammar;
|
||||
ruleGrammar.debug (debug);
|
||||
ruleGrammar.loadFromFile (ruleFile);
|
||||
std::cout << ruleGrammar.dump ();
|
||||
|
||||
// Instantiate the parser.
|
||||
LR0 ruleParser;
|
||||
ruleParser.debug (debug);
|
||||
ruleParser.createParseTables (ruleGrammar);
|
||||
std::cout << ruleParser.dump ();
|
||||
|
||||
// TODO Load rules.
|
||||
// TODO Parse rules.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue