void tokenize_file(SourceFile sourceFile, ModuleContainer module, ParserSession session)
        {
            Stream input;

            try {
                input = File.OpenRead(sourceFile.Name);
            } catch {
                Report.Error(2001, "Source file `" + sourceFile.Name + "' could not be found");
                return;
            }

            using (input) {
                SeekableStreamReader reader = new SeekableStreamReader(input, ctx.Settings.Encoding);
                var file = new CompilationSourceFile(module, sourceFile);

                if (sourceFile.FileType == SourceFileType.CSharp)
                {
                    Tokenizer lexer = new Tokenizer(reader, file, session);
                    int       token, tokens = 0, errors = 0;

                    while ((token = lexer.token()) != Token.EOF)
                    {
                        tokens++;
                        if (token == Token.ERROR)
                        {
                            errors++;
                        }
                    }
                }
                else
                {
                    Mono.PlayScript.Tokenizer lexer = new Mono.PlayScript.Tokenizer(reader, file, session);
                    lexer.ParsingPlayScript = sourceFile.PsExtended;
                    int token, tokens = 0, errors = 0;

                    while ((token = lexer.token()) != Mono.PlayScript.Token.EOF)
                    {
                        tokens++;
                        if (token == Mono.PlayScript.Token.ERROR)
                        {
                            errors++;
                        }
                    }
                }
            }

            return;
        }
Exemple #2
0
		void tokenize_file (SourceFile sourceFile, ModuleContainer module, ParserSession session)
		{
			Stream input;

			try {
				input = File.OpenRead (sourceFile.Name);
			} catch {
				Report.Error (2001, "Source file `" + sourceFile.Name + "' could not be found");
				return;
			}

			using (input) {
				SeekableStreamReader reader = new SeekableStreamReader (input, ctx.Settings.Encoding);
				var file = new CompilationSourceFile (module, sourceFile);

				if (sourceFile.FileType == SourceFileType.CSharp) {
					Tokenizer lexer = new Tokenizer (reader, file, session);
					int token, tokens = 0, errors = 0;
	
					while ((token = lexer.token ()) != Token.EOF){
						tokens++;
						if (token == Token.ERROR)
							errors++;
					}
				} else {
					Mono.PlayScript.Tokenizer lexer = new Mono.PlayScript.Tokenizer (reader, file, session);
					lexer.ParsingPlayScript = sourceFile.PsExtended;
					int token, tokens = 0, errors = 0;
	
					while ((token = lexer.token ()) != Mono.PlayScript.Token.EOF){
						tokens++;
						if (token == Mono.PlayScript.Token.ERROR)
							errors++;
					}
				}
			}
			
			return;
		}