public Scanner(string path, string fileName) { buffer = new StringBuilder (); source = new Source (path, fileName); log4net.Config.BasicConfigurator.Configure (); Log = log4net.LogManager.GetLogger (typeof(Scanner)); }
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); }
public Token(TokenType type, String value, Source source) { this.type = type; this.value = value; this.source = source; }
public Token(TokenType token, Source source) { this.type = token; this.source = source; }