Ejemplo n.º 1
0
 /// <summary>
 /// Parses a Fast program from given stream.
 /// </summary>
 public static MonaProgram Parse(Stream stream, string filename = null)
 {
     try
     {
         var  parser = new MonaParser(stream, filename);
         bool ok     = parser.Parse();
         if (ok)
         {
             parser.program.Typecheck();
             return(parser.program);
         }
         else
         {
             throw new MonaParseException();
         }
     }
     catch (Exception e)
     {
         if (e is MonaParseException)
         {
             throw e;
         }
         else
         {
             throw new MonaParseException("unexpected error", e);
         }
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Parses a Fast program from given stream.
        /// </summary>
        public static Program Parse(Stream stream, string filename = null)
        {
            var  parser = new MonaParser(stream, filename);
            bool ok     = parser.Parse();

            if (ok)
            {
                return(parser.program);
            }
            else
            {
                throw new MonaParseException("Error: mona parser failed", filename);
            }
        }