Example #1
0
 Exp parseTerm()
 {
     if (CurrentToken.Kind == TokenKind.LBS)
     {
         return(parseBracket());
     }
     else if (CurrentToken.Kind == TokenKind.RBS)
     {
         error("多余的右括号");
         MoveNext();
         return(null);
     }
     else if (CurrentToken.IsLiteral())
     {
         return(parseLiteral());
     }
     else if (CurrentToken.Kind == TokenKind.Ident && NextToken.Kind == TokenKind.Colon)
     {
         return(pareNV());
     }
     else if (CurrentToken.Kind == TokenKind.Ident)
     {
         return(parseIdent());
     }
     else
     {
         return(null);
     }
 }
Example #2
0
 bool expIsInExp()
 {
     if (isNewLine())
     {
         return(false);
     }
     return(CurrentKind == TokenKind.Ident || CurrentKind == TokenKind.LBS || CurrentToken.IsLiteral());
 }