Skip to content

Instantly share code, notes, and snippets.

@arturaz
Created October 10, 2012 08:25
Show Gist options
  • Save arturaz/3864018 to your computer and use it in GitHub Desktop.
Save arturaz/3864018 to your computer and use it in GitHub Desktop.
private[this] def ignored(prefix: String) =
log(prefix)("Ignored: " + prefix) ~ any(80 - prefix.length)
/** Header **/
def header = ignored("HD") ~ nl
/** Ignored record types - these have no meaning for us **/
def tiplocInsert = ignored("TI") ~ nl
def tiplocAmend = ignored("TA") ~ nl
def tiplocDelete = ignored("TD") ~ nl
def association = ignored("AA") ~ nl
// File parser
def file = (
(
header ~ tiplocInsert.* ~ tiplocAmend.* ~ tiplocDelete.* ~ association.*
)// ~> (cancelledSchedule | completeSchedule).* <~ trailer
)
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@7207ea
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@65b9d5
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@8b5134
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@8046d8
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1ab3c4c
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@103c96a
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@19c6122
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1ad0d57
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@46e74f
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@fc1587
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1e97158
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1106e50
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1ba8655
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@c95829
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@bb0aec
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1ca303b
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@12482d1
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@8992a
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@7fa6e1
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@a516a7
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@72346d
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1cff5e0
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@175da5
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@53c4f
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1ba7f2a
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@f2b2c6
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1b70887
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@190e441
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1798801
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1d01b3c
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1ac0946
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1950f04
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@10d09dd
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@102c627
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@11f3223
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@114d908
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1b4c9e8
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@33d389
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@84cea7
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@11b6d9a
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@1b89b0d
READ INTO CBUF OFFSET 0 LENGTH 4096 cbuf:[C@cbb2f6
READ INTO CBUF OFFSET 3016 LENGTH 1080 cbuf:[C@cbb2f6
[1]+ Stopped play console
def parse(file: File): ParseResult[FileParserResult] =
parse(this.file, new FileReader(file) {
override def read(target: CharBuffer) = {
println("READ to target " + target)
super.read(target)
}
override def read(cbuf: Array[Char]) = {
println("READ to cbuf" + cbuf)
super.read(cbuf)
}
override def read() = {
println("READ WHOLE")
super.read()
}
override def read(cbuf: Array[Char], offset: Int, length: Int) = {
println("READ INTO CBUF OFFSET " + offset + " LENGTH " + length +
" cbuf:" + cbuf)
super.read(cbuf, offset, length)
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment