예제 #1
0
파일: Parser.cs 프로젝트: omnimark/PTVS
 private ErrorExpression Error(string verbatimImage = null, Expression preceeding = null) {
     var res = new ErrorExpression(verbatimImage, preceeding);
     res.SetLoc(GetStart(), GetEnd());
     return res;
 }
예제 #2
0
파일: Parser.cs 프로젝트: jsschultz/PTVS
        private ErrorExpression ReadLineAsError(Expression preceeding, string message) {
            var t = NextToken();
            Debug.Assert(t.Kind == TokenKind.Colon);
            var image = new StringBuilder();
            if (_verbatim) {
                image.Append(_tokenWhiteSpace);
            }
            image.Append(':');

            while (!IsEndOfLineToken(PeekToken())) {
                t = NextToken();
                if (_verbatim) {
                    image.Append(_tokenWhiteSpace);
                    image.Append(t.VerbatimImage);
                } else {
                    image.Append(t.Image);
                }
            }
            var err = new ErrorExpression(image.ToString(), preceeding);
            err.SetLoc(preceeding.StartIndex, GetEnd());
            ReportSyntaxError(err.StartIndex, err.EndIndex, message);
            return err;
        }