werkt
[cc1516.git] / main.icl
1 module main
2
3 import StdFile
4 import StdBool
5
6 import parse
7 import lex
8
9 //Start :: *World -> (ParserOutput, *World)
10 Start = ""
11 //Start w
12 //# (out, w) = stdio w
13 //# (toparse, out) = readEntireFile out
14 //# (_, w) = fclose out w
15 //= (lexer toparse, w)
16 /*
17 Start :: *World -> (ParserOutput, *World)
18 Start w
19 # (out, w) = stdio w
20 # (toparse, out) = readEntireFile out
21 # (_, w) = fclose out w
22 = (parse (lexer toparse), w)
23 */
24
25 readEntireFile :: *File -> *([Char], *File)
26 readEntireFile f
27 # (b, c, f) = freadc f
28 | not b = ([], f)
29 # (cs, f) = readEntireFile f
30 = ([c:cs], f)