tools/incparser/Program.cs
author Michael McKoy <ferret99gt@gmail.com>
Thu Jul 26 23:31:58 2007 +0000 (2007-07-26)
changeset 1177 90c066adfa6b
parent 824 0e9a2c98c9aa
child 2019 9f473114a511
permissions -rw-r--r--
Added FindTarget stock.
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Text;
     4 
     5 namespace incparser
     6 {
     7     class Program
     8     {
     9         static void Main(string[] args)
    10         {
    11             Environment.Exit(SubMain(args));
    12         }
    13 
    14         static int SubMain(string[] args)
    15         {
    16             if (args.Length < 1)
    17             {
    18                 Console.WriteLine("Usage: incparser <infile>");
    19                 return 1;
    20             }
    21 
    22             IncParser inc = null;
    23             try
    24             {
    25                 inc = new IncParser(args[0]);
    26             }
    27             catch (ParseException e)
    28             {
    29                 Console.WriteLine("Initial browsing failed: " + e.Message);
    30                 return 1;
    31             }
    32             catch (System.Exception e)
    33             {
    34                 Console.WriteLine("Failed to read file: " + e.Message);
    35                 return 1;
    36             }
    37 
    38             ParseWriter pw = new ParseWriter();
    39 
    40             try
    41             {
    42                 inc.Parse(pw);
    43             }
    44             catch (System.Exception e)
    45             {
    46                 Console.WriteLine("Error parsing file (line " + inc.GetLineNumber() + "): " + e.Message);
    47                 return 1;
    48             }
    49 
    50             if (pw.Level != 0)
    51             {
    52                 Console.WriteLine("Fatal parse error detected; unable to complete output.");
    53                 return 1;
    54             }
    55 
    56             Console.Write(pw.Contents);
    57             Console.Write("\n");
    58 
    59             return 0;
    60         }
    61     }
    62 }