Esempio n. 1
0
 public Scanner(string path, string fileName)
 {
     buffer = new StringBuilder ();
       source = new Source (path, fileName);
       log4net.Config.BasicConfigurator.Configure ();
       Log = log4net.LogManager.GetLogger (typeof(Scanner));
 }
Esempio n. 2
0
 public Token Expect(TokenType type, string value, Source source)
 {
     var token = PeekToken ();
     if (Accept(type, value)) {
         return token;
     }
     var failed = ScanToken ();
     if (failed != null) {
     var error = "Metal [Error]: Invalid token \"{0}\" at line: {1}, position: {2}. Expected \"{3}\"";
         Log.Error (string.Format(error, value, source.Line, source.Position, Token.GetName(type)));
     } else {
         var error = "Metal [Error]: End of File at line: {0}, position: {1}. Expected \"{2}\"";
         Log.Error (string.Format(error, source.Line, source.Position, Token.GetName(type)));
         throw new Exception ("");
     }
     return new Token (type, "", source);
 }
Esempio n. 3
0
 public Token(TokenType type, String value, Source source)
 {
     this.type = type;
       this.value = value;
       this.source = source;
 }
Esempio n. 4
0
 public Token(TokenType token, Source source)
 {
     this.type = token;
       this.source = source;
 }