Mercurial > repos > tabletprog
diff modules/compiler.tp @ 252:004946743678
Added code for building a method symbol table
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 10 May 2014 19:11:01 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/compiler.tp Sat May 10 19:11:01 2014 -0700 @@ -0,0 +1,25 @@ +#{ + 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" + } + } +}