view modules/compiler.tp @ 253:697c2c562af2

Fix infinite loop in hash dict
author Michael Pavone <pavone@retrodev.com>
date Sat, 31 May 2014 21:27:03 -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"
		}
	}
}