Exemplo n.º 1
0
 internal static ParsecError mergeError(
     int ind, object exception, ParsecError e1, ParsecError e2)
 {
     return(new ParsecError(false, ind,
                            MergedParsecError.mergeObj(e1.sys_unexpected, e2.sys_unexpected),
                            mergeMsgs(e1.unexpected, e2.unexpected),
                            mergeMsgs(e1.expecting, e2.expecting),
                            mergeMsgs(e1.raw, e2.raw),
                            exception
                            ));
 }
Exemplo n.º 2
0
 //caller should not change input after it is passed in.
 internal ParserState(Tok[] input,
                      int at, string module, PositionMap pmap,
                      int end_index,
                      string eof_str, ShowToken show)
     : base(at, module, pmap)
 {
     this.input          = input;
     this.sys_unexpected = new ParsecError[input.Length];
     this.show           = show;
     this.end_index      = end_index;
     this.eof_unexpected = ParsecError.raiseSysUnexpected(
         end_index, eof_str);
 }
Exemplo n.º 3
0
        private ParsecError getSysUnexpected(int i)
        {
            if (i >= sys_unexpected.Length)
            {
                return(eof_unexpected);
            }
            ParsecError r = sys_unexpected[i];

            if (r == null)
            {
                Tok ptok = input[i];
                r = ParsecError.raiseSysUnexpected(ptok.Index,
                                                   show(ptok.Token));
                sys_unexpected[i] = r;
            }
            return(r);
        }
Exemplo n.º 4
0
 //caller should not change input after it is passed in.
 internal ParserState(Tok[] input,
     int at, string module, PositionMap pmap,
     int end_index,
     string eof_str, ShowToken show)
     : base(at, module, pmap)
 {
     this.input = input;
     this.sys_unexpected = new ParsecError[input.Length];
     this.show = show;
     this.end_index = end_index;
     this.eof_unexpected = ParsecError.raiseSysUnexpected(
         end_index, eof_str);
 }
Exemplo n.º 5
0
 private static int myPrecedence(int pred, string s)
 {
     return(max(pred, ParsecError.getPrecedenceForExpecting(s)));
 }
Exemplo n.º 6
0
 private ParsecError getMerged(ParsecError e1, ParsecError e2)
 {
     return(ParsecError.mergeError(Index, Exception, e1, e2));
 }
Exemplo n.º 7
0
 internal override AbstractParsecError setExpecting(string s)
 {
     return(ParsecError.raiseExpecting(Index, s, this));
 }
Exemplo n.º 8
0
 internal static ParsecError mergeError(
     int ind, object exception, ParsecError e1, ParsecError e2)
 {
     return new ParsecError(false, ind,
         MergedParsecError.mergeObj(e1.sys_unexpected, e2.sys_unexpected),
         mergeMsgs(e1.unexpected, e2.unexpected),
         mergeMsgs(e1.expecting, e2.expecting),
         mergeMsgs(e1.raw, e2.raw),
         exception
     );
 }
Exemplo n.º 9
0
 private ParsecError getMerged(ParsecError e1, ParsecError e2)
 {
     return ParsecError.mergeError(Index, Exception, e1, e2);
 }
Exemplo n.º 10
0
        internal override ParsecError getSysUnexpected()
        {
            string msg = (len == at) ? "EOF" : ("" + src[at]);

            return(ParsecError.raiseSysUnexpected(getIndex(), msg));
        }