update, parser kan expressies op binaire operatoren na, beginnetje gemaakt voor prese...
[cc1516.git] / src / main.icl
1 module main
2
3 import StdFile
4 import StdBool
5
6 import parse
7 import lex
8
9 Start :: *World -> (LexerOutput, ParserOutput, *World)
10 Start w
11 # (out, w) = stdio w
12 # (toparse, out) = readEntireFile out
13 # (_, w) = fclose out w
14 = (lexer toparse, parse (lexer toparse), w)
15
16 readEntireFile :: *File -> *([Char], *File)
17 readEntireFile f
18 # (b, c, f) = freadc f
19 | not b = ([], f)
20 # (cs, f) = readEntireFile f
21 = ([c:cs], f)