コード例 #1
0
ファイル: LexTokenText.cs プロジェクト: pyzh/ZLanguage3
 public LexTokenText(int line, int col, string text)
 {
     _Text = text;
     Kind  = TokenKindKeyword.Ident;
     Line  = line;
     Col   = col;
 }
コード例 #2
0
ファイル: LexTokenText.cs プロジェクト: pyzh/ZLanguage3
 public void CheckKind()
 {
     if (!string.IsNullOrWhiteSpace(this._Text))
     {
         if (Dict.ContainsK(this._Text))
         {
             var kind = Dict.GetV(this._Text);
             this.Kind = kind;
         }
     }
 }
コード例 #3
0
ファイル: LexTokenText.cs プロジェクト: pyzh/ZLanguage3
 public static string GetTextByKind(TokenKindKeyword kind)
 {
     if (kind == TokenKindKeyword.Ident)
     {
         return(null);
     }
     if (Dict.ContainsV(kind))
     {
         return(Dict.GetK(kind));
     }
     return(null);
 }
コード例 #4
0
 public bool Match(TokenKindKeyword tokKind)
 {
     if (!this.Current.IsKind(tokKind))
     {
         error(this.Current, this.Current.ToCode() + "不正确,应该是" + LexTokenText.GetTextByKind(tokKind));
         return(false);
     }
     else
     {
         MoveNext();
         return(true);
     }
 }
コード例 #5
0
ファイル: LexTokenText.cs プロジェクト: pyzh/ZLanguage3
 public LexTokenText(int line, int col, TokenKindKeyword kind)
 {
     Kind = kind;
     Line = line;
     Col  = col;
 }