comparison src/compiler.sml @ 1061:e8a35d710ab9

Context globals; ctype functions
author Adam Chlipala <adamc@hcoop.net>
date Tue, 08 Dec 2009 10:46:50 -0500
parents eaba663fd6aa
children 3bc726a822fb
comparison
equal deleted inserted replaced
1060:6f4f8b9c5023 1061:e8a35d710ab9
506 (case !timeout of 506 (case !timeout of
507 NONE => () 507 NONE => ()
508 | SOME _ => ErrorMsg.error "Duplicate 'timeout' directive"; 508 | SOME _ => ErrorMsg.error "Duplicate 'timeout' directive";
509 timeout := SOME (valOf (Int.fromString arg))) 509 timeout := SOME (valOf (Int.fromString arg)))
510 | "ffi" => ffi := relify arg :: !ffi 510 | "ffi" => ffi := relify arg :: !ffi
511 | "link" => link := relifyA arg :: !link 511 | "link" => let
512 val arg = if size arg >= 2 andalso String.substring (arg, 0, 2) = "-l" then
513 arg
514 else
515 relifyA arg
516 in
517 link := arg :: !link
518 end
512 | "include" => headers := relifyA arg :: !headers 519 | "include" => headers := relifyA arg :: !headers
513 | "script" => scripts := arg :: !scripts 520 | "script" => scripts := arg :: !scripts
514 | "clientToServer" => clientToServer := ffiS () :: !clientToServer 521 | "clientToServer" => clientToServer := ffiS () :: !clientToServer
515 | "effectful" => effectful := ffiS () :: !effectful 522 | "effectful" => effectful := ffiS () :: !effectful
516 | "clientOnly" => clientOnly := ffiS () :: !clientOnly 523 | "clientOnly" => clientOnly := ffiS () :: !clientOnly