Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016....

17

Transcript of Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016....

Page 1: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 2: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 3: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 4: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 5: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -

Types

Int | Float | String | Bool | Unit | Lists

Operators+ - * /

< > <= >= ==

&& || not

Control Flow if (a == b) then

let bool c = trueelse

let bool c = false;match a with

b -> print_int(1)| c -> print_int(2)| _ -> print_int(0)

;

Builtins print_int(3);print_float(3.14);print_string(“tail”);print_bool(true);

Page 6: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 7: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 8: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -

Function Assignmentslet int a (int b, string c) = fun {expression list} ;

Variable Assignments Expression Definitionlet int a = {int literal};

List Definitionlet int [] a = [ {literal list} ];

Page 9: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 10: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 11: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 12: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 13: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 14: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 15: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -

○○

Page 16: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -
Page 17: Department of Computer Science, Columbia Universitysedwards/classes/2016/4115-spring/... · 2016. 5. 13. · 2eeee —"Documents/compiler$ . /dem02 lost (conservative estimate) -