//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
// PLEASE DO NOT EDIT WITHOUT THE EXPLICIT CONSENT OF THE AUTHOR! \\
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
namespace Ilog.Irl
{
/**
* @version Last modified on Tue May 31 20:06:38 2005 by hak
* @author Hassan Aït-Kaci
* @copyright © 2004 ILOG, Inc.
*/
using IOException = System.IO.IOException;
using Error = Ilog.Language.Parsing.Error;
internal class IrlMain
{
private static Parser parser;
private static bool trace = false;
internal static void SetTrace (bool flag)
{
trace = flag;
}
public static void Main (string[] args)
{
try
{
parser = new Parser(new Tokenizer(args[0]));
}
catch (IOException e)
{
System.Console.Error.WriteLine("*** No such file: " + args[0]);
System.Environment.Exit(1);
}
try
{
if (trace)
parser.ToggleTrace();
parser.SetQuiet(false);
parser.SetStart();
parser.Parse(Parser.COMPACT_TREE);
}
catch (IOException e)
{
parser.ErrorManager.ReportError(new Error().SetLabel("IO Error: ")
.SetMessage(e.Message+" - giving up!")
.SetSee("..."));
parser.ErrorManager.TallyErrors();
}
catch (System.Exception e)
{
parser.ErrorManager.TallyErrors();
System.Console.Error.WriteLine(e);
}
}
}
}