view modules/compiler.tp @ 306:8dbb2d2522a5

Fix a crash in from:withLength when given a negative length. Fix a bug in trim that was causing it to give a negative length to from:withLength
author Michael Pavone <pavone@retrodev.com>
date Sun, 27 Jul 2014 13:01:08 -0700
parents 004946743678
children
line wrap: on
line source

#{
	main <- :args {
		if: (args length) > 1 {
			file <- os open: (args get: 1) (os O_RDONLY)

			code <- ""
			chunksize <- 1024
			readsize <- chunksize
			while: { readsize = chunksize} do: {
				seg <- os read: file chunksize
				code <- code . seg
				readsize <- seg byte_length
			}
			res <- parser top: code
			if: res {
				methods <- symbols buildMethodTable: (res yield)
				print: methods
			} else: {
				print: "Parse failed!\n"
			}
		} else: {
			print: "Usage compiler FILE\n"
		}
	}
}