Example #1
0
ViElement ViTrainer::exportData()
{
	ViElement element("trainer");
	element.addChild("name", name("Trainer"));
	element.addChild("iterationlimit", iterationLimit());
	element.addChild("errorlimit", errorLimit());
	element.addChild("learningrate", learningRate());

	ViElement errorFunctions("errorfunctions");
	for(int i = 0; i < mErrorFunctions.size(); ++i)
	{
		errorFunctions.addChild(mErrorFunctions[i]->exportData());
	}
	element.addChild(errorFunctions);

	return element;
}
Example #2
0
void Options::parseCommandLine()
{
    QCommandLineParser parser;
    parser.setSingleDashWordOptionMode(QCommandLineParser::ParseAsLongOptions);
    parser.addHelpOption();
    parser.addVersionOption();
    parser.addPositionalArgument("files", "Files to compile.", "[files...]");

    QCommandLineOption include(QStringList() << "i" << "include", "Include directories.", "include", "");
    parser.addOption(include);

    QCommandLineOption errorLimit("error-limit", "Stop after N errors. [Default: 20]", "N", "20");
    parser.addOption(errorLimit);

    QCommandLineOption outputFile(QStringList() << "o" << "out",
                                  "Output to file or stdout if empty.", "file", "");
    parser.addOption(outputFile);

    QCommandLineOption outputType(QStringList() << "e" << "emit",
                                  "Specify the type of output. [Default: obj]\n   type=obj|llvm|ast", "type", "obj");
    parser.addOption(outputType);

    QCommandLineOption readFromStdin("stdin", "Read from stdin.");
    parser.addOption(readFromStdin);

    parser.process(*QCoreApplication::instance());

    m_files = parser.positionalArguments();
    m_includeDirs = parser.values(include);
    m_errorLimit = parser.value(errorLimit).toInt();
    m_outputFile = parser.value(outputFile);
    m_outputType = parser.value(outputType);
    if (m_outputType != "obj" && m_outputType != "llvm" && m_outputType != "ast")
        m_outputType = "obj";
    m_readFromStdin = parser.isSet(readFromStdin);

    if (m_files.isEmpty() && !m_readFromStdin)
        parser.showHelp();
}
Example #3
0
void V3Error::incErrors() {
    s_errCount++;
    if (errorCount() == errorLimit()) {  // Not >= as would otherwise recurse
	v3fatal ("Exiting due to too many errors encountered; --error-limit="<<errorCount()<<endl);
    }
}