SemGuS-git / Semgus-Parser

Library and tool for parsing SemGuS specifications
MIT License
4 stars 1 forks source link

Undeclared sorts dump an exception instead of printing a useful error message #44

Closed kjcjohnson closed 2 years ago

kjcjohnson commented 2 years ago

Using a sort that isn't yet declared dumps a nasty stack trace instead of actually being helpful. This should be cleaned up.

Stack trace:

Fatal error during parsing: Sort not declared: E
Full stack trace:
System.InvalidOperationException: Sort not declared: E
   at Semgus.Model.Smt.SmtContext.GetSortDeclaration(SmtIdentifier id) in D:\dev\semgus\temp\Semgus-Parser\Semgus-Lib\Model\Smt\SmtContext.cs:line 202
   at Semgus.Parser.Reader.Converters.SortConverter.TryConvertImpl(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\SortConverter.cs:line 35
   at Semgus.Parser.Reader.Converters.AbstractConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\AbstractConverter.cs:line 22
   at Semgus.Parser.Reader.SmtConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\SmtConverter.cs:line 52
   at Semgus.Parser.Reader.DestructuringHelper.TryDestructure(ParameterInfo[] paramInfo, IConsOrNil form, Object[]& parameters) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\DestructuringHelper.cs:line 152
   at Semgus.Parser.Reader.Converters.ConstructorConverter.TryConvertImpl(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\ConstructorConverter.cs:line 35
   at Semgus.Parser.Reader.Converters.AbstractConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\AbstractConverter.cs:line 22
   at Semgus.Parser.Reader.SmtConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\SmtConverter.cs:line 52
   at Semgus.Parser.Reader.Converters.IListConverter.TryConvertImpl(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\IListConverter.cs:line 37
   at Semgus.Parser.Reader.Converters.AbstractConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\AbstractConverter.cs:line 22
   at Semgus.Parser.Reader.SmtConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\SmtConverter.cs:line 52
   at Semgus.Parser.Reader.DestructuringHelper.TryDestructure(ParameterInfo[] paramInfo, IConsOrNil form, Object[]& parameters) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\DestructuringHelper.cs:line 152
   at Semgus.Parser.Reader.Converters.ConstructorConverter.TryConvertImpl(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\ConstructorConverter.cs:line 35
   at Semgus.Parser.Reader.Converters.AbstractConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\AbstractConverter.cs:line 22
   at Semgus.Parser.Reader.SmtConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\SmtConverter.cs:line 52
   at Semgus.Parser.Reader.Converters.IListConverter.TryConvertImpl(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\IListConverter.cs:line 37
   at Semgus.Parser.Reader.Converters.AbstractConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\AbstractConverter.cs:line 22
   at Semgus.Parser.Reader.SmtConverter.TryConvert(Type tFrom, Type tTo, Object from, Object& to) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\Converters\SmtConverter.cs:line 52
   at Semgus.Parser.Reader.DestructuringHelper.TryDestructure(ParameterInfo[] paramInfo, IConsOrNil form, Object[]& parameters) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\DestructuringHelper.cs:line 152
   at Semgus.Parser.Reader.DestructuringHelper.TryDestructureAndInvoke(MethodInfo method, IConsOrNil form, Object instance) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\Reader\DestructuringHelper.cs:line 29
   at Semgus.Parser.SemgusParser.TryParse(ISemgusProblemHandler handler, Int32& errCount, TextWriter errorStream) in D:\dev\semgus\temp\Semgus-Parser\ParserLibrary\SemgusParser.cs:line 181