Advertisement
Guest User

Untitled

a guest
Apr 4th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.65 KB | None | 0 0
  1. module Reader
  2.  
  3. open System
  4. open System.IO
  5.  
  6. type Reader(path: string, reader: TextReader) =
  7.     class
  8.         let mutable line = 1
  9.  
  10.         member this.Fail(s) =
  11.             failwith(sprintf "%s:%d: %s" path line s)
  12.  
  13.         member this.Peek() =
  14.             reader.Peek()
  15.  
  16.         member this.Read() =
  17.             if reader.Peek() = int '\n' then
  18.                 line <- line + 1
  19.             reader.Read()
  20.  
  21.         member this.ReadLine() =
  22.             line <- line + 1
  23.             reader.ReadLine()
  24.  
  25.         member this.WhiteSpace =
  26.             while Char.IsWhiteSpace(char(this.Peek())) do
  27.                 this.Read() |> ignore
  28.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement