[MLton-commit] r4020 - in mlton/trunk: basis-library basis-library/integer basis-library/io basis-library/libs/basis-1997/io basis-library/libs/basis-1997/top-level basis-library/libs/basis-2002/top-level basis-library/libs/basis-extra/top-level basis-library/misc basis-library/mlton basis-library/net basis-library/posix basis-library/real basis-library/sml-nj basis-library/system basis-library/text benchmark benchmark/tests benchmark/tests/DATA bin bytecode doc doc/license include lib/cml/core-cml lib/mlnlffi lib/mlnlffi/internals lib/mlnlffi/memory lib/mlton/basic lib/mlton/queue lib/mlton/set lib/mlton-stubs-in-smlnj lib/mlyacc mllex mlnlffigen mlprof mlton/ast mlton/atoms mlton/backend mlton/closure-convert mlton/codegen/bytecode mlton/codegen/c-codegen mlton/codegen/x86-codegen mlton/control mlton/core-ml mlton/defunctorize mlton/elaborate mlton/front-end mlton/main mlton/ssa mlton/xml mlyacc mlyacc/doc mlyacc/examples/fol mlyacc/examples/pascal mlyacc/src regression regression/fail runtime runtime/Posix runtime/Posix/FileSys runtime/Posix/ProcEnv runtime/Posix/Process runtime/Posix/SysDB runtime/basis runtime/basis/Int runtime/basis/Itimer runtime/basis/MLton runtime/basis/Real runtime/platform util/cm2mlb util/cmcat
Stephen Weeks
MLton@mlton.org
Sun, 21 Aug 2005 11:36:53 -0700
Author: sweeks
Date: 2005-08-21 11:31:31 -0700 (Sun, 21 Aug 2005)
New Revision: 4020
Modified:
mlton/trunk/basis-library/integer/int-inf.sml
mlton/trunk/basis-library/io/imperative-io.fun
mlton/trunk/basis-library/io/io.sml
mlton/trunk/basis-library/io/stream-io.fun
mlton/trunk/basis-library/io/text-io.sig
mlton/trunk/basis-library/libs/basis-1997/io/bin-io.sig
mlton/trunk/basis-library/libs/basis-1997/io/text-io.sig
mlton/trunk/basis-library/libs/basis-1997/top-level/basis.sml
mlton/trunk/basis-library/libs/basis-2002/top-level/basis.sig
mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig
mlton/trunk/basis-library/misc/primitive.sml
mlton/trunk/basis-library/misc/reader.sml
mlton/trunk/basis-library/mlton/process.sml
mlton/trunk/basis-library/mlton/signal.sml
mlton/trunk/basis-library/mlton/thread.sml
mlton/trunk/basis-library/net/socket.sig
mlton/trunk/basis-library/notes.txt
mlton/trunk/basis-library/posix/file-sys.sml
mlton/trunk/basis-library/posix/primitive.sml
mlton/trunk/basis-library/posix/process.sml
mlton/trunk/basis-library/real/real.fun
mlton/trunk/basis-library/real/real.sig
mlton/trunk/basis-library/sml-nj/sml-nj.sml
mlton/trunk/basis-library/sml-nj/unsafe.sml
mlton/trunk/basis-library/system/date.sml
mlton/trunk/basis-library/system/time.sml
mlton/trunk/basis-library/text/char.sml
mlton/trunk/benchmark/main.sml
mlton/trunk/benchmark/tests/DATA/ml.grm
mlton/trunk/benchmark/tests/DATA/ml.lex
mlton/trunk/benchmark/tests/DLXSimulator.sml
mlton/trunk/benchmark/tests/barnes-hut.sml
mlton/trunk/benchmark/tests/count-graphs.sml
mlton/trunk/benchmark/tests/fxp.sml
mlton/trunk/benchmark/tests/hamlet.sml
mlton/trunk/benchmark/tests/knuth-bendix.sml
mlton/trunk/benchmark/tests/lexgen.sml
mlton/trunk/benchmark/tests/mlyacc.sml
mlton/trunk/benchmark/tests/model-elimination.sml
mlton/trunk/benchmark/tests/raytrace.sml
mlton/trunk/benchmark/tests/simple.sml
mlton/trunk/benchmark/tests/smith-normal-form.sml
mlton/trunk/benchmark/tests/tensor.sml
mlton/trunk/benchmark/tests/tsp.sml
mlton/trunk/benchmark/tests/tyan.sml
mlton/trunk/benchmark/tests/vliw.sml
mlton/trunk/benchmark/tests/zebra.sml
mlton/trunk/benchmark/tests/zern.sml
mlton/trunk/bin/clean
mlton/trunk/bin/mlton-script
mlton/trunk/bin/regression
mlton/trunk/bytecode/interpret.c
mlton/trunk/bytecode/interpret.h
mlton/trunk/bytecode/opcode.h
mlton/trunk/doc/README
mlton/trunk/doc/changelog
mlton/trunk/doc/license/README
mlton/trunk/include/bytecode-main.h
mlton/trunk/include/c-chunk.h
mlton/trunk/include/c-common.h
mlton/trunk/include/c-main.h
mlton/trunk/include/main.h
mlton/trunk/include/x86-main.h
mlton/trunk/lib/cml/core-cml/channel.sig
mlton/trunk/lib/cml/core-cml/channel.sml
mlton/trunk/lib/cml/core-cml/event.sml
mlton/trunk/lib/cml/core-cml/run-cml.sml
mlton/trunk/lib/cml/core-cml/thread.sig
mlton/trunk/lib/mlnlffi/c.sig
mlton/trunk/lib/mlnlffi/internals/c-int.sig
mlton/trunk/lib/mlnlffi/internals/c-int.sml
mlton/trunk/lib/mlnlffi/memory/bitop-fn.sml
mlton/trunk/lib/mlnlffi/memory/linkage.sig
mlton/trunk/lib/mlnlffi/memory/memalloc.sig
mlton/trunk/lib/mlton-stubs-in-smlnj/int.sml
mlton/trunk/lib/mlton/basic/alpha-beta.fun
mlton/trunk/lib/mlton/basic/directed-graph.sml
mlton/trunk/lib/mlton/basic/directed-sub-graph.sml
mlton/trunk/lib/mlton/basic/hash-set.sml
mlton/trunk/lib/mlton/basic/http.sml
mlton/trunk/lib/mlton/basic/instream.sig
mlton/trunk/lib/mlton/basic/list.sig
mlton/trunk/lib/mlton/basic/list.sml
mlton/trunk/lib/mlton/basic/power.sml
mlton/trunk/lib/mlton/basic/process.sml
mlton/trunk/lib/mlton/basic/rdb.sml
mlton/trunk/lib/mlton/basic/regexp.sml
mlton/trunk/lib/mlton/basic/stream.sml
mlton/trunk/lib/mlton/basic/trace.sig
mlton/trunk/lib/mlton/queue/append-reverse.fun
mlton/trunk/lib/mlton/queue/explicit-append-reverse.fun
mlton/trunk/lib/mlton/set/bit-vector-set.fun
mlton/trunk/lib/mlton/set/universe.sig
mlton/trunk/lib/mlyacc/base.sig
mlton/trunk/lib/mlyacc/parser1.sml
mlton/trunk/lib/mlyacc/parser2.sml
mlton/trunk/lib/mlyacc/sources.cm
mlton/trunk/mllex/README
mlton/trunk/mllex/lexgen.doc
mlton/trunk/mllex/lexgen.sml
mlton/trunk/mllex/lexgen.tex
mlton/trunk/mllex/mlex_int.doc
mlton/trunk/mlnlffigen/README
mlton/trunk/mlnlffigen/ast-to-spec.sml
mlton/trunk/mlnlffigen/pp.sml
mlton/trunk/mlprof/main.sml
mlton/trunk/mlton/ast/tyvar.fun
mlton/trunk/mlton/atoms/c-function.fun
mlton/trunk/mlton/atoms/const.fun
mlton/trunk/mlton/atoms/hash-type.fun
mlton/trunk/mlton/atoms/prim.fun
mlton/trunk/mlton/atoms/prim.sig
mlton/trunk/mlton/atoms/tycon.sig
mlton/trunk/mlton/backend/backend.fun
mlton/trunk/mlton/backend/limit-check.fun
mlton/trunk/mlton/backend/live.fun
mlton/trunk/mlton/backend/machine.fun
mlton/trunk/mlton/backend/packed-representation.fun
mlton/trunk/mlton/backend/profile.fun
mlton/trunk/mlton/backend/rep-type.fun
mlton/trunk/mlton/backend/runtime.fun
mlton/trunk/mlton/backend/small-int-inf.fun
mlton/trunk/mlton/closure-convert/abstract-value.fun
mlton/trunk/mlton/closure-convert/closure-convert.fun
mlton/trunk/mlton/codegen/bytecode/bytecode.fun
mlton/trunk/mlton/codegen/c-codegen/c-codegen.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-generate-transfers.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-jump-info.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-live-transfers.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.sig
mlton/trunk/mlton/codegen/x86-codegen/x86-mlton-basic.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-mlton.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-pseudo.sig
mlton/trunk/mlton/codegen/x86-codegen/x86-simplify.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-translate.fun
mlton/trunk/mlton/codegen/x86-codegen/x86-validate.fun
mlton/trunk/mlton/codegen/x86-codegen/x86.fun
mlton/trunk/mlton/codegen/x86-codegen/x86.sig
mlton/trunk/mlton/control/region.sig
mlton/trunk/mlton/core-ml/core-ml.fun
mlton/trunk/mlton/defunctorize/defunctorize.fun
mlton/trunk/mlton/elaborate/elaborate-core.fun
mlton/trunk/mlton/elaborate/elaborate-env.fun
mlton/trunk/mlton/elaborate/elaborate-modules.fun
mlton/trunk/mlton/elaborate/interface.fun
mlton/trunk/mlton/elaborate/type-env.fun
mlton/trunk/mlton/front-end/ml.grm
mlton/trunk/mlton/front-end/ml.lex
mlton/trunk/mlton/front-end/mlb-front-end.fun
mlton/trunk/mlton/front-end/mlb.lex
mlton/trunk/mlton/main/compile.fun
mlton/trunk/mlton/main/lookup-constant.fun
mlton/trunk/mlton/main/main.fun
mlton/trunk/mlton/ssa/constant-propagation.fun
mlton/trunk/mlton/ssa/contify.fun
mlton/trunk/mlton/ssa/flatten.fun
mlton/trunk/mlton/ssa/multi.fun
mlton/trunk/mlton/ssa/redundant-tests.fun
mlton/trunk/mlton/ssa/remove-unused.fun
mlton/trunk/mlton/ssa/restore.fun
mlton/trunk/mlton/ssa/restore2.fun
mlton/trunk/mlton/ssa/shrink.fun
mlton/trunk/mlton/ssa/shrink2.fun
mlton/trunk/mlton/ssa/simplify-types.fun
mlton/trunk/mlton/ssa/ssa-tree.fun
mlton/trunk/mlton/ssa/ssa-tree2.fun
mlton/trunk/mlton/ssa/useless.fun
mlton/trunk/mlton/xml/monomorphise.fun
mlton/trunk/mlton/xml/polyvariance.fun
mlton/trunk/mlton/xml/type-check.fun
mlton/trunk/mlton/xml/uncurry.fun
mlton/trunk/mlton/xml/xml-tree.fun
mlton/trunk/mlyacc/README
mlton/trunk/mlyacc/doc/tech.doc
mlton/trunk/mlyacc/examples/fol/README
mlton/trunk/mlyacc/examples/fol/fol.grm
mlton/trunk/mlyacc/examples/fol/fol.lex
mlton/trunk/mlyacc/examples/pascal/pascal.grm
mlton/trunk/mlyacc/examples/pascal/pascal.lex
mlton/trunk/mlyacc/src/core.sml
mlton/trunk/mlyacc/src/coreutils.sml
mlton/trunk/mlyacc/src/grammar.sml
mlton/trunk/mlyacc/src/graph.sml
mlton/trunk/mlyacc/src/hdr.sml
mlton/trunk/mlyacc/src/lalr.sml
mlton/trunk/mlyacc/src/look.sml
mlton/trunk/mlyacc/src/mklrtable.sml
mlton/trunk/mlyacc/src/shrink.sml
mlton/trunk/mlyacc/src/sigs.sml
mlton/trunk/mlyacc/src/utils.sml
mlton/trunk/mlyacc/src/verbose.sml
mlton/trunk/mlyacc/src/yacc.grm
mlton/trunk/mlyacc/src/yacc.lex
mlton/trunk/mlyacc/src/yacc.sml
mlton/trunk/regression/README
mlton/trunk/regression/array.sml
mlton/trunk/regression/bytechar.sml
mlton/trunk/regression/eqtype.sml
mlton/trunk/regression/fail/eqtype.1.sml
mlton/trunk/regression/filesys.sml
mlton/trunk/regression/int.sml
mlton/trunk/regression/kitkbjul9.sml
mlton/trunk/regression/kitqsort.sml
mlton/trunk/regression/kitsimple.sml
mlton/trunk/regression/kkb36c.sml
mlton/trunk/regression/kkb_eq.sml
mlton/trunk/regression/life.sml
mlton/trunk/regression/llv.sml
mlton/trunk/regression/mlton.word.sml
mlton/trunk/regression/opaque.sml
mlton/trunk/regression/prodcons.sml
mlton/trunk/regression/real.sml
mlton/trunk/regression/ring.sml
mlton/trunk/regression/sharing.sml
mlton/trunk/regression/size.sml
mlton/trunk/regression/string.sml
mlton/trunk/regression/substring.sml
mlton/trunk/regression/suspend.sml
mlton/trunk/regression/unixpath.sml
mlton/trunk/regression/where.sml
mlton/trunk/regression/word.sml
mlton/trunk/runtime/Posix/FileSys/Dirstream.c
mlton/trunk/runtime/Posix/FileSys/Stat.c
mlton/trunk/runtime/Posix/ProcEnv/getgroups.c
mlton/trunk/runtime/Posix/Process/exece.c
mlton/trunk/runtime/Posix/Process/execp.c
mlton/trunk/runtime/Posix/Signal.c
mlton/trunk/runtime/Posix/SysDB/Group.c
mlton/trunk/runtime/assert.h
mlton/trunk/runtime/basis/Int/Word.c
mlton/trunk/runtime/basis/Int/Word8Array.c
mlton/trunk/runtime/basis/Int/Word8Vector.c
mlton/trunk/runtime/basis/IntInf.c
mlton/trunk/runtime/basis/Itimer/set.c
mlton/trunk/runtime/basis/MLton/allocTooLarge.c
mlton/trunk/runtime/basis/MLton/bug.c
mlton/trunk/runtime/basis/MLton/profile.c
mlton/trunk/runtime/basis/MLton/spawne.c
mlton/trunk/runtime/basis/MLton/spawnp.c
mlton/trunk/runtime/basis/PackReal.c
mlton/trunk/runtime/basis/Real/Math.c
mlton/trunk/runtime/basis/Real/class.c
mlton/trunk/runtime/basis/Real/real.c
mlton/trunk/runtime/gc.c
mlton/trunk/runtime/gc.h
mlton/trunk/runtime/platform.c
mlton/trunk/runtime/platform.h
mlton/trunk/runtime/platform/linux.c
mlton/trunk/runtime/platform/mingw.c
mlton/trunk/runtime/platform/mingw.h
mlton/trunk/runtime/platform/solaris.c
mlton/trunk/runtime/platform/totalRam.sysctl.c
mlton/trunk/runtime/platform/windows.c
mlton/trunk/util/cm2mlb/cm2mlb.sml
mlton/trunk/util/cmcat/cmcat.sml
Log:
MAIL reran tab expansion using expand
Reran the tab expansion on revision 4013, this time using the built-in
"expand" command, which correctly handles tabs that don't start at a
tab stop. There were 257 files containing such tabs.
For the record, here's the script.
----------------------------------------------------------------------
structure List =
struct
open List
fun exists (l, f) = List.exists f l
fun map (l, f) = List.map f l
end
structure String =
struct
open String
fun hasSuffix (s, {suffix}) =
Int.>= (size s, size suffix)
andalso suffix = extract (s, size s - size suffix, NONE)
end
val name = #file (OS.Path.splitDirFile (CommandLine.name ()))
fun die s =
(TextIO.output (TextIO.stdErr, s)
; let open OS.Process in exit failure end)
val root =
case CommandLine.arguments () of
[dir] => dir
| _ => die (concat ["usage: ", name, " <dir>"])
val numFiles = ref 0
val numFilesWithTabs = ref 0
val numTabs = ref 0
fun ++ x = x := 1 + !x
fun msg ss =
if true then () else
TextIO.output (TextIO.stdErr, concat [concat ss, "\n"])
val tab = CharVector.tabulate (8, fn _ => #" ")
fun replaceTabs (dir, f) =
let
val mode = Posix.FileSys.ST.mode (Posix.FileSys.stat f)
val tmp = OS.FileSys.tmpName ()
val () =
if OS.Process.success
= OS.Process.system (concat ["expand <", f, " >", tmp]) then
()
else
TextIO.output (TextIO.stdErr,
concat ["failed to expand: ",
OS.Path.joinDirFile {dir = dir, file = f}])
val () = OS.FileSys.rename {new = f, old = tmp}
val () = Posix.FileSys.chmod (f, mode)
in
()
end
val replaceSuffixes =
List.map
(["c", "cm", "doc", "el", "fun", "grm", "h", "lex", "mlb", "sig", "sml",
"tex", "txt"],
fn s => concat [".", s])
fun shouldReplace (dir, f) =
(dir = "./bin" andalso f <> "Makefile")
orelse List.exists (["changelog", "README", "README.Debian", "README.kit"],
fn f' => f = f')
orelse List.exists (replaceSuffixes, fn s =>
String.hasSuffix (f, {suffix = s}))
fun handleFile (dir, f) =
let
val () = ++numFiles
val isAscii = ref true
val hasTab = ref false
val hasStrangeTab = ref false
val numTabsInFile = ref 0
val ins = TextIO.openIn f
fun loop (filePos, column) =
case TextIO.input1 ins of
NONE => ()
| SOME c =>
if not (Char.isAscii c)
then isAscii := false
else
let
val () =
if c = #"\t" then
(++numTabsInFile
; hasTab := true
; if 0 = column mod 8 then ()
else hasStrangeTab := true)
else ()
in
loop (filePos + 1, if c = #"\n" then 0 else column + 1)
end
val () = loop (0, 0)
val () = TextIO.closeIn ins
val fullPath = OS.Path.joinDirFile {dir = dir, file = f}
val () =
if not (!isAscii) then ()
else if !hasTab then
(++numFilesWithTabs
; (if shouldReplace (dir, f) then replaceTabs (dir, f)
else (print (concat ["skipping ", fullPath, "\n"]))))
else ()
in
()
end
fun loop (dir, path) =
let
val () = msg ["entering ", dir]
open OS.FileSys
val saved = getDir ()
val () = chDir dir
val ds = openDir "."
val path = OS.Path.joinDirFile {dir = path, file = dir}
fun loop' () =
case readDir ds of
NONE => ()
| SOME s =>
let
val () =
case s of
"." => ()
| ".." => ()
| ".svn" => ()
| _ =>
if isDir s then loop (s, path)
else if isLink s then ()
else handleFile (path, s)
in
loop' ()
end
val () = loop' ()
val () = closeDir ds
val () = chDir saved
val () = msg ["leaving ", dir]
in
()
end
val () = loop (root, "")
val () =
List.app
(fn (s, r) =>
print (concat [s, " = ", Int.toString (!r), "\n"]))
[("numFiles", numFiles),
("numFilesWithTabs", numFilesWithTabs),
("numTabs", numTabs)]
Modified: mlton/trunk/basis-library/integer/int-inf.sml
===================================================================
--- mlton/trunk/basis-library/integer/int-inf.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/integer/int-inf.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -232,7 +232,7 @@
else if w2 = 0wx80000000
then if w1 = 0w0 andalso sign = 0w1
then valOf Int64.minInt
- else raise Overflow
+ else raise Overflow
else
let
val n =
@@ -807,7 +807,7 @@
fun octReader z = reader (0w8, 9, octDig) z
fun decReader z = reader (0w10, 9, decDig) z
fun hexReader z = reader (0w16, 7, hexDig) z
- end
+ end
in
local fun stringReader (pos, str) =
Modified: mlton/trunk/basis-library/io/imperative-io.fun
===================================================================
--- mlton/trunk/basis-library/io/imperative-io.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/io/imperative-io.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -740,15 +740,15 @@
(* sharing type Array.array = ArraySlice.array *)
sharing type
Array.elem
-(* = ArraySlice.elem *)
+(* = ArraySlice.elem *)
= StreamIO.elem
= Vector.elem
-(* = VectorSlice.elem *)
+(* = VectorSlice.elem *)
sharing type
Array.vector
-(* = ArraySlice.vector *)
+(* = ArraySlice.vector *)
= Vector.vector
-(* = VectorSlice.vector *)
+(* = VectorSlice.vector *)
(* sharing type ArraySlice.vector_slice = VectorSlice.slice *)
end
Modified: mlton/trunk/basis-library/io/io.sml
===================================================================
--- mlton/trunk/basis-library/io/io.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/io/io.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -21,7 +21,7 @@
(fn e =>
case e of
Io {cause, function, name, ...} =>
- SOME (concat ["Io: ", function, " \"", name, "\" failed with ",
+ SOME (concat ["Io: ", function, " \"", name, "\" failed with ",
exnMessage cause])
| _ => NONE)
Modified: mlton/trunk/basis-library/io/stream-io.fun
===================================================================
--- mlton/trunk/basis-library/io/stream-io.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/io/stream-io.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -858,7 +858,7 @@
val openOutstreams : (outstream * {close: bool}) list ref = ref []
val mkOutstream'' =
- let
+ let
val _ = Cleaner.addNew
(Cleaner.atExit, fn () =>
List.app (fn (os, {close}) =>
Modified: mlton/trunk/basis-library/io/text-io.sig
===================================================================
--- mlton/trunk/basis-library/io/text-io.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/io/text-io.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -8,10 +8,10 @@
include TEXT_IO_GLOBAL
structure StreamIO: TEXT_STREAM_IO
-(* where type elem = Char.char *) (* redundant *)
+(* where type elem = Char.char *) (* redundant *)
where type pos = TextPrimIO.pos
where type reader = TextPrimIO.reader
-(* where type vector = CharVector.vector *) (* redundant *)
+(* where type vector = CharVector.vector *) (* redundant *)
where type writer = TextPrimIO.writer
type elem = StreamIO.elem
@@ -43,7 +43,7 @@
val output: outstream * vector -> unit
val outputSubstr: outstream * substring -> unit
val scanStream:
- ((Char.char, StreamIO.instream) StringCvt.reader
+ ((Char.char, StreamIO.instream) StringCvt.reader
-> ('a, StreamIO.instream) StringCvt.reader)
-> instream -> 'a option
val setInstream: (instream * StreamIO.instream) -> unit
Modified: mlton/trunk/basis-library/libs/basis-1997/io/bin-io.sig
===================================================================
--- mlton/trunk/basis-library/libs/basis-1997/io/bin-io.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-1997/io/bin-io.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -19,7 +19,7 @@
val openIn: string -> instream
(*
val scanStream:
- ((Char.char, StreamIO.instream) StringCvt.reader
+ ((Char.char, StreamIO.instream) StringCvt.reader
-> ('a, StreamIO.instream) StringCvt.reader)
-> instream -> 'a option
*)
Modified: mlton/trunk/basis-library/libs/basis-1997/io/text-io.sig
===================================================================
--- mlton/trunk/basis-library/libs/basis-1997/io/text-io.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-1997/io/text-io.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -20,7 +20,7 @@
val openIn: string -> instream
val print: string -> unit
val scanStream:
- ((Char.char, StreamIO.instream) StringCvt.reader
+ ((Char.char, StreamIO.instream) StringCvt.reader
-> ('a, StreamIO.instream) StringCvt.reader)
-> instream -> 'a option
val setInstream: (instream * StreamIO.instream) -> unit
Modified: mlton/trunk/basis-library/libs/basis-1997/top-level/basis.sml
===================================================================
--- mlton/trunk/basis-library/libs/basis-1997/top-level/basis.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-1997/top-level/basis.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -46,7 +46,7 @@
structure IntArray2 = IntVectorArray.Array2
structure Int32VectorArray = MonoVectorArrayArray2Convert
(structure Vector = Int32Vector
- structure VectorSlice = Int32VectorSlice
+ structure VectorSlice = Int32VectorSlice
structure Array = Int32Array
structure ArraySlice = Int32ArraySlice
structure Array2 = Int32Array2)
@@ -73,7 +73,7 @@
structure Real64Array2 = Real64VectorArray.Array2
structure Word8VectorArray = MonoVectorArrayArray2Convert
(structure Vector = Word8Vector
- structure VectorSlice = Word8VectorSlice
+ structure VectorSlice = Word8VectorSlice
structure Array = Word8Array
structure ArraySlice = Word8ArraySlice
structure Array2 = Word8Array2)
Modified: mlton/trunk/basis-library/libs/basis-2002/top-level/basis.sig
===================================================================
--- mlton/trunk/basis-library/libs/basis-2002/top-level/basis.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-2002/top-level/basis.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -80,49 +80,49 @@
val vector : 'a list -> 'a vector
(* Required structures *)
- structure Array : ARRAY
+ structure Array : ARRAY
structure ArraySlice : ARRAY_SLICE
- structure BinIO : BIN_IO
- structure BinPrimIO : PRIM_IO
- structure Bool : BOOL
- structure Byte : BYTE
- structure Char : CHAR
- structure CharArray : MONO_ARRAY
- structure CharArraySlice : MONO_ARRAY_SLICE
+ structure BinIO : BIN_IO
+ structure BinPrimIO : PRIM_IO
+ structure Bool : BOOL
+ structure Byte : BYTE
+ structure Char : CHAR
+ structure CharArray : MONO_ARRAY
+ structure CharArraySlice : MONO_ARRAY_SLICE
structure CharVector : MONO_VECTOR
- structure CharVectorSlice : MONO_VECTOR_SLICE
- structure CommandLine : COMMAND_LINE
- structure Date : DATE
- structure General : GENERAL
- structure IEEEReal : IEEE_REAL
- structure Int : INTEGER
- structure IO : IO
- structure LargeInt : INTEGER
+ structure CharVectorSlice : MONO_VECTOR_SLICE
+ structure CommandLine : COMMAND_LINE
+ structure Date : DATE
+ structure General : GENERAL
+ structure IEEEReal : IEEE_REAL
+ structure Int : INTEGER
+ structure IO : IO
+ structure LargeInt : INTEGER
structure LargeReal : REAL
structure LargeWord : WORD
- structure List : LIST
- structure ListPair : LIST_PAIR
- structure Math : MATH
- structure Option : OPTION
- structure OS : OS
- structure Position : INTEGER
- structure Real : REAL
- structure StringCvt : STRING_CVT
- structure String : STRING
- structure Substring : SUBSTRING
+ structure List : LIST
+ structure ListPair : LIST_PAIR
+ structure Math : MATH
+ structure Option : OPTION
+ structure OS : OS
+ structure Position : INTEGER
+ structure Real : REAL
+ structure StringCvt : STRING_CVT
+ structure String : STRING
+ structure Substring : SUBSTRING
structure TextIO : TEXT_IO
- structure TextPrimIO : PRIM_IO
- structure Text : TEXT
- structure Time : TIME
- structure Timer : TIMER
- structure VectorSlice : VECTOR_SLICE
- structure Vector : VECTOR
- structure Word : WORD
- structure Word8Array : MONO_ARRAY
- structure Word8Array2 : MONO_ARRAY2
- structure Word8ArraySlice : MONO_ARRAY_SLICE
- structure Word8Vector : MONO_VECTOR
- structure Word8VectorSlice : MONO_VECTOR_SLICE
+ structure TextPrimIO : PRIM_IO
+ structure Text : TEXT
+ structure Time : TIME
+ structure Timer : TIMER
+ structure VectorSlice : VECTOR_SLICE
+ structure Vector : VECTOR
+ structure Word : WORD
+ structure Word8Array : MONO_ARRAY
+ structure Word8Array2 : MONO_ARRAY2
+ structure Word8ArraySlice : MONO_ARRAY_SLICE
+ structure Word8Vector : MONO_VECTOR
+ structure Word8VectorSlice : MONO_VECTOR_SLICE
(* Optional structures *)
structure Array2 : ARRAY2
Modified: mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig
===================================================================
--- mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/libs/basis-extra/top-level/basis.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -80,49 +80,49 @@
val vector : 'a list -> 'a vector
(* Required structures *)
- structure Array : ARRAY
+ structure Array : ARRAY
structure ArraySlice : ARRAY_SLICE
- structure BinIO : BIN_IO
- structure BinPrimIO : PRIM_IO
- structure Bool : BOOL
- structure Byte : BYTE
- structure Char : CHAR
- structure CharArray : MONO_ARRAY
- structure CharArraySlice : MONO_ARRAY_SLICE
+ structure BinIO : BIN_IO
+ structure BinPrimIO : PRIM_IO
+ structure Bool : BOOL
+ structure Byte : BYTE
+ structure Char : CHAR
+ structure CharArray : MONO_ARRAY
+ structure CharArraySlice : MONO_ARRAY_SLICE
structure CharVector : MONO_VECTOR
- structure CharVectorSlice : MONO_VECTOR_SLICE
- structure CommandLine : COMMAND_LINE
- structure Date : DATE
- structure General : GENERAL
- structure IEEEReal : IEEE_REAL
- structure Int : INTEGER
- structure IO : IO
- structure LargeInt : INTEGER
+ structure CharVectorSlice : MONO_VECTOR_SLICE
+ structure CommandLine : COMMAND_LINE
+ structure Date : DATE
+ structure General : GENERAL
+ structure IEEEReal : IEEE_REAL
+ structure Int : INTEGER
+ structure IO : IO
+ structure LargeInt : INTEGER
structure LargeReal : REAL
structure LargeWord : WORD
- structure List : LIST
- structure ListPair : LIST_PAIR
- structure Math : MATH
- structure Option : OPTION
- structure OS : OS
- structure Position : INTEGER
- structure Real : REAL
- structure StringCvt : STRING_CVT
- structure String : STRING
- structure Substring : SUBSTRING
+ structure List : LIST
+ structure ListPair : LIST_PAIR
+ structure Math : MATH
+ structure Option : OPTION
+ structure OS : OS
+ structure Position : INTEGER
+ structure Real : REAL
+ structure StringCvt : STRING_CVT
+ structure String : STRING
+ structure Substring : SUBSTRING
structure TextIO : TEXT_IO
- structure TextPrimIO : PRIM_IO
- structure Text : TEXT
- structure Time : TIME
- structure Timer : TIMER
- structure VectorSlice : VECTOR_SLICE
- structure Vector : VECTOR
- structure Word : WORD
- structure Word8Array : MONO_ARRAY
- structure Word8Array2 : MONO_ARRAY2
- structure Word8ArraySlice : MONO_ARRAY_SLICE
- structure Word8Vector : MONO_VECTOR
- structure Word8VectorSlice : MONO_VECTOR_SLICE
+ structure TextPrimIO : PRIM_IO
+ structure Text : TEXT
+ structure Time : TIME
+ structure Timer : TIMER
+ structure VectorSlice : VECTOR_SLICE
+ structure Vector : VECTOR
+ structure Word : WORD
+ structure Word8Array : MONO_ARRAY
+ structure Word8Array2 : MONO_ARRAY2
+ structure Word8ArraySlice : MONO_ARRAY_SLICE
+ structure Word8Vector : MONO_VECTOR
+ structure Word8VectorSlice : MONO_VECTOR_SLICE
(* Optional structures *)
structure Array2 : ARRAY2
Modified: mlton/trunk/basis-library/misc/primitive.sml
===================================================================
--- mlton/trunk/basis-library/misc/primitive.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/misc/primitive.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -868,7 +868,7 @@
open Array
val array = _prim "Array_array": int -> 'a array;
- val array =
+ val array =
fn n => if safe andalso Int.< (n, 0)
then raise Size
else array n
@@ -895,7 +895,7 @@
val smallMul =
_import "IntInf_smallMul": word * word * word ref -> word;
val - = _prim "IntInf_sub": int * int * word -> int;
- val toString
+ val toString
= _prim "IntInf_toString": int * Int.int * word -> string;
val toVector = _prim "IntInf_toVector": int -> word vector;
val toWord = _prim "IntInf_toWord": int -> word;
@@ -1153,7 +1153,7 @@
struct
(* val htonl = _import "Net_htonl": int -> int; *)
(* val ntohl = _import "Net_ntohl": int -> int; *)
- val htons = _import "Net_htons": int -> int;
+ val htons = _import "Net_htons": int -> int;
val ntohs = _import "Net_ntohs": int -> int;
end
@@ -1279,7 +1279,7 @@
_prim "Pointer_setReal32": t * int * Real32.real -> unit;
val setReal64 =
_prim "Pointer_setReal64": t * int * Real64.real -> unit;
- val setWord8 =
+ val setWord8 =
_prim "Pointer_setWord8": t * int * Word8.word -> unit;
val setWord16 =
_prim "Pointer_setWord16": t * int * Word16.word -> unit;
Modified: mlton/trunk/basis-library/misc/reader.sml
===================================================================
--- mlton/trunk/basis-library/misc/reader.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/misc/reader.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -16,23 +16,23 @@
(* local
* fun make finish p reader state =
* let
- * fun loop (state, token, tokens) =
- * case reader state of
- * NONE => SOME (rev (finish (token, tokens)), state)
- * | SOME (x, state) =>
- * let
- * val (token, tokens) =
- * if p x then ([], finish (token, tokens))
- * else (x :: token, tokens)
- * in loop (state, token, tokens)
- * end
+ * fun loop (state, token, tokens) =
+ * case reader state of
+ * NONE => SOME (rev (finish (token, tokens)), state)
+ * | SOME (x, state) =>
+ * let
+ * val (token, tokens) =
+ * if p x then ([], finish (token, tokens))
+ * else (x :: token, tokens)
+ * in loop (state, token, tokens)
+ * end
* in loop (state, [], [])
* end
* in
* fun tokens p = make (fn (token, tokens) =>
- * case token of
- * [] => tokens
- * | _ => (rev token) :: tokens) p
+ * case token of
+ * [] => tokens
+ * | _ => (rev token) :: tokens) p
* fun fields p = make (fn (field, fields) => (rev field) :: fields) p
* end
*)
Modified: mlton/trunk/basis-library/mlton/process.sml
===================================================================
--- mlton/trunk/basis-library/mlton/process.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/mlton/process.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -354,7 +354,7 @@
in (Pid.toInt pid, fn () => pid)
end)
end
- else
+ else
case Posix.Process.fork () of
NONE => Posix.Process.execp (file, args)
| SOME pid => pid
Modified: mlton/trunk/basis-library/mlton/signal.sml
===================================================================
--- mlton/trunk/basis-library/mlton/signal.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/mlton/signal.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -86,7 +86,7 @@
if Array.sub (validSignals, toInt s)
then case mask of
AllBut sigs => not (member (sigs, s))
- | Some sigs => member (sigs, s)
+ | Some sigs => member (sigs, s)
else raiseInval ()
end
end
Modified: mlton/trunk/basis-library/mlton/thread.sml
===================================================================
--- mlton/trunk/basis-library/mlton/thread.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/mlton/thread.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -111,7 +111,7 @@
fun fail e = (t := Dead
; switching := false
; atomicEnd ()
- ; raise e)
+ ; raise e)
val (T t': Runnable.t) = f (T t) handle e => fail e
val primThread =
case !t' before t' := Dead of
Modified: mlton/trunk/basis-library/net/socket.sig
===================================================================
--- mlton/trunk/basis-library/net/socket.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/net/socket.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -179,9 +179,9 @@
type optname = int
type request = int
-(* val getSockOptWord: level * optname -> ('af, 'sock_type) sock -> word *)
-(* val setSockOptWord:
- * level * optname -> ('af, 'sock_type) sock * word -> unit
+(* val getSockOptWord: level * optname -> ('af, 'sock_type) sock -> word *)
+(* val setSockOptWord:
+ * level * optname -> ('af, 'sock_type) sock * word -> unit
*)
val getERROR:
('af, 'sock_type) sock
@@ -193,11 +193,11 @@
val setSockOptBool:
level * optname -> ('af, 'sock_type) sock * bool -> unit
-(* val getIOCtlWord: request -> ('af, 'sock_type) sock -> word *)
-(* val setIOCtlWord: request -> ('af, 'sock_type) sock * word -> unit *)
+(* val getIOCtlWord: request -> ('af, 'sock_type) sock -> word *)
+(* val setIOCtlWord: request -> ('af, 'sock_type) sock * word -> unit *)
val getIOCtlInt: request -> ('af, 'sock_type) sock -> int
-(* val setIOCtlInt: request -> ('af, 'sock_type) sock * int -> unit *)
+(* val setIOCtlInt: request -> ('af, 'sock_type) sock * int -> unit *)
val getIOCtlBool: request -> ('af, 'sock_type) sock -> bool
-(* val setIOCtlBool: request -> ('af, 'sock_type) sock * bool -> unit *)
+(* val setIOCtlBool: request -> ('af, 'sock_type) sock * bool -> unit *)
end
end
Modified: mlton/trunk/basis-library/notes.txt
===================================================================
--- mlton/trunk/basis-library/notes.txt 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/notes.txt 2005-08-21 18:31:31 UTC (rev 4020)
@@ -486,7 +486,7 @@
datatype ref = datatype ref
val ! : 'a ref -> 'a
val := : 'a ref * 'a -> unit
- val swap : 'a ref * 'a ref -> unit (* or :=: ? *)
+ val swap : 'a ref * 'a ref -> unit (* or :=: ? *)
val map : ('a -> 'a) -> 'a ref -> 'a ref
You might then consider removing ! and := from GENERAL.
Modified: mlton/trunk/basis-library/posix/file-sys.sml
===================================================================
--- mlton/trunk/basis-library/posix/file-sys.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/posix/file-sys.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -234,7 +234,7 @@
wrap (fn (s, u, g) => Prim.chown (NullString.nullTerm s, u, g))
val fchown = wrap Prim.fchown
val ftruncate = wrapRestart Prim.ftruncate
- end
+ end
local
val size: int = 1024
Modified: mlton/trunk/basis-library/posix/primitive.sml
===================================================================
--- mlton/trunk/basis-library/posix/primitive.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/posix/primitive.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -200,7 +200,7 @@
val nanosleep =
_import "Posix_Process_nanosleep": int ref * int ref -> int;
val pause = _import "Posix_Process_pause": unit -> int;
-(* val sleep = _import "Posix_Process_sleep": int -> int; *)
+(* val sleep = _import "Posix_Process_sleep": int -> int; *)
val stopSig = _import "Posix_Process_stopSig": Status.t -> Signal.t;
val system =
_import "Posix_Process_system": NullString.t -> Status.t;
@@ -320,13 +320,13 @@
structure S =
struct
type mode = word
-(* val ifsock = _const "Posix_FileSys_S_ifsock": mode; *)
-(* val iflnk = _const "Posix_FileSys_S_iflnk": mode; *)
-(* val ifreg = _const "Posix_FileSys_S_ifreg": mode; *)
-(* val ifblk = _const "Posix_FileSys_S_ifblk": mode; *)
-(* val ifdir = _const "Posix_FileSys_S_ifdir": mode; *)
-(* val ifchr = _const "Posix_FileSys_S_ifchr": mode; *)
-(* val ififo = _const "Posix_FileSys_S_ififo": mode; *)
+(* val ifsock = _const "Posix_FileSys_S_ifsock": mode; *)
+(* val iflnk = _const "Posix_FileSys_S_iflnk": mode; *)
+(* val ifreg = _const "Posix_FileSys_S_ifreg": mode; *)
+(* val ifblk = _const "Posix_FileSys_S_ifblk": mode; *)
+(* val ifdir = _const "Posix_FileSys_S_ifdir": mode; *)
+(* val ifchr = _const "Posix_FileSys_S_ifchr": mode; *)
+(* val ififo = _const "Posix_FileSys_S_ififo": mode; *)
val irwxu = _const "Posix_FileSys_S_irwxu": mode;
val irusr = _const "Posix_FileSys_S_irusr": mode;
val iwusr = _const "Posix_FileSys_S_iwusr": mode;
@@ -499,8 +499,8 @@
val F_WRLCK = _const "Posix_IO_F_WRLCK": int;
val F_UNLCK = _const "Posix_IO_F_UNLCK": int;
val F_SETLKW = _const "Posix_IO_F_SETLKW": int;
-(* val F_GETOWN = _const "Posix_IO_F_GETOWN": int; *)
-(* val F_SETOWN = _const "Posix_IO_F_SETOWN": int; *)
+(* val F_GETOWN = _const "Posix_IO_F_GETOWN": int; *)
+(* val F_SETOWN = _const "Posix_IO_F_SETOWN": int; *)
val O_ACCMODE = _const "Posix_IO_O_ACCMODE": word;
val SEEK_SET = _const "Posix_IO_SEEK_SET": int;
val SEEK_CUR = _const "Posix_IO_SEEK_CUR": int;
@@ -531,7 +531,7 @@
_import "Posix_IO_FLock_setStart": Position.int -> unit;
val setLen =
_import "Posix_IO_FLock_setLen": Position.int -> unit;
-(* val setPid = _import "Posix_IO_FLock_setPid": Pid.t -> unit; *)
+(* val setPid = _import "Posix_IO_FLock_setPid": Pid.t -> unit; *)
end
val close = _import "Posix_IO_close": fd -> int;
@@ -575,7 +575,7 @@
_import "Posix_IO_write": fd * word8 array * int * size -> ssize;
val writeWord8Vec =
_import "Posix_IO_write": fd * word8 vector * int * size -> ssize;
- end
+ end
structure SysDB =
struct
@@ -717,7 +717,7 @@
val iflush = _const "Posix_TTY_TC_iflush": queue_sel;
val ioflush = _const "Posix_TTY_TC_ioflush": queue_sel;
val oflush = _const "Posix_TTY_TC_oflush": queue_sel;
- end
+ end
structure Termios =
struct
Modified: mlton/trunk/basis-library/posix/process.sml
===================================================================
--- mlton/trunk/basis-library/posix/process.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/posix/process.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -168,7 +168,7 @@
handle Overflow => Error.raiseSys Error.inval)))
in
val alarm = wrap Prim.alarm
-(* val sleep = wrap Prim.sleep *)
+(* val sleep = wrap Prim.sleep *)
end
fun sleep (t: Time.time): Time.time =
Modified: mlton/trunk/basis-library/real/real.fun
===================================================================
--- mlton/trunk/basis-library/real/real.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/real/real.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -351,7 +351,7 @@
if Int.< (exp, 0)
then concat ["-", Int.toString (Int.~ exp)]
else Int.toString exp
-(* val x = concat ["0.", digits, "E", exp, "\000"] *)
+(* val x = concat ["0.", digits, "E", exp, "\000"] *)
val n =
Int.+ (4, Int.+ (List.length digits, String.size exp))
val a = Array.rawArray n
@@ -638,7 +638,7 @@
val x = Prim.strto (NullString.fromString
(concat [LargeInt.toString i, "\000"]))
in
- if sign then ~ x else x
+ if sign then ~ x else x
end
val toLargeInt: IEEEReal.rounding_mode -> real -> LargeInt.int =
Modified: mlton/trunk/basis-library/real/real.sig
===================================================================
--- mlton/trunk/basis-library/real/real.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/real/real.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -44,7 +44,7 @@
val signBit: real -> bool
val strto: NullString.t -> real
val toInt: real -> int
- val toLarge: real -> LargeReal.real
+ val toLarge: real -> LargeReal.real
end
signature REAL_GLOBAL =
Modified: mlton/trunk/basis-library/sml-nj/sml-nj.sml
===================================================================
--- mlton/trunk/basis-library/sml-nj/sml-nj.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/sml-nj/sml-nj.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -16,7 +16,7 @@
val callcc = C.callcc
fun throw k v = C.throw (k, v)
end
-
+
structure SysInfo =
struct
exception UNKNOWN
Modified: mlton/trunk/basis-library/sml-nj/unsafe.sml
===================================================================
--- mlton/trunk/basis-library/sml-nj/unsafe.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/sml-nj/unsafe.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -35,7 +35,7 @@
structure CharVector = UnsafeMonoVector (CharVector)
structure Real64Array = UnsafeMonoArray (Real64Array)
structure Vector =
- struct
+ struct
val sub = Vector.unsafeSub
end
structure Word8Array = UnsafeMonoArray (Word8Array)
Modified: mlton/trunk/basis-library/system/date.sml
===================================================================
--- mlton/trunk/basis-library/system/date.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/system/date.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -60,7 +60,7 @@
(* 86400 = 24*60*6 is the number of seconds per day *)
type tmoz = {tm_hour : int,
- tm_isdst : int, (* 0 = no, 1 = yes, ~1 = don't know *)
+ tm_isdst : int, (* 0 = no, 1 = yes, ~1 = don't know *)
tm_mday : int,
tm_min : int,
tm_mon : int,
@@ -235,7 +235,7 @@
(year-1, Dec, 31)
else
loop 0 day
- end
+ end
(* -------------------------------------------------- *)
@@ -312,7 +312,7 @@
Array.update (a, Char.ord (String.sub (validChars, i)), true));
fn c => Array.sub (a, Char.ord c)
end
- in
+ in
fun fmt fmtStr d =
let
val _ = setTmBuf (dateToTmoz d)
@@ -511,7 +511,7 @@
in
cmp (y1, y2,
fn _ => cmp (frommonth mo1, frommonth mo2,
- fn _ => cmp (d1, d2,
+ fn _ => cmp (d1, d2,
fn _ => cmp (h1, h2,
fn _ => cmp (mi1, mi2,
fn _ => cmp (s1, s2,
Modified: mlton/trunk/basis-library/system/time.sml
===================================================================
--- mlton/trunk/basis-library/system/time.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/system/time.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -118,9 +118,9 @@
else case getc src of
NONE => SOME (mkTime sign intv fracv decs, src)
| SOME (c, rest) =>
- (case charToDigit c of
- NONE => SOME (mkTime sign intv fracv decs, src)
- | SOME d => frac' sign intv (10 * fracv + d) (decs + 1) rest)
+ (case charToDigit c of
+ NONE => SOME (mkTime sign intv fracv decs, src)
+ | SOME d => frac' sign intv (10 * fracv + d) (decs + 1) rest)
fun frac sign intv src =
case getc src of
NONE => NONE
Modified: mlton/trunk/basis-library/text/char.sml
===================================================================
--- mlton/trunk/basis-library/text/char.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/basis-library/text/char.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -9,7 +9,7 @@
structure Char: CHAR_EXTRA =
struct
open Char0
-
+
fun control reader state =
case reader state of
NONE => NONE
Modified: mlton/trunk/benchmark/main.sml
===================================================================
--- mlton/trunk/benchmark/main.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/main.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -518,7 +518,7 @@
else
let
val rows = rows toStringHtml
- in
+ in
prow (hd rows)
; (List.foreach
(tl rows,
Modified: mlton/trunk/benchmark/tests/DATA/ml.grm
===================================================================
--- mlton/trunk/benchmark/tests/DATA/ml.grm 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/DATA/ml.grm 2005-08-21 18:31:31 UTC (rev 4020)
@@ -37,7 +37,7 @@
let val (r1,env1) = do1 env
val (r2,env2) = do2 (Env.atop(env1,env))
in (r1 @ r2, Env.atop(env2,env1))
- end
+ end
fun seqdec (d,e) = ([d],e)
@@ -125,7 +125,7 @@
| sigb of signatureVar list withenv enved
| str of strtype
| sdecs of dec list withenv epathnstamped
- | sdecs' of dec list withenv epathnstamped
+ | sdecs' of dec list withenv epathnstamped
| sdec of dec withenv epathnstamped
| strb of bool -> (symbol*structureVar*strb) list epathstamped
| fparam of functorFormal
@@ -175,50 +175,50 @@
%%
-int : INT (INT)
- | INT0 (INT0)
+int : INT (INT)
+ | INT0 (INT0)
-id : ID (ID)
- | ASTERISK ("*")
+id : ID (ID)
+ | ASTERISK ("*")
-ident : ID (ID)
- | ASTERISK ("*")
- | EQUAL ("=")
+ident : ID (ID)
+ | ASTERISK ("*")
+ | EQUAL ("=")
-op_op : OP (fn()=> error (OPleft,OPright) WARN "unnecessary `op'")
- | (fn()=>())
+op_op : OP (fn()=> error (OPleft,OPright) WARN "unnecessary `op'")
+ | (fn()=>())
-opid : id (fn env => let val (v,f) = var'n'fix id
+opid : id (fn env => let val (v,f) = var'n'fix id
in case lookFIX env f of NONfix => ()
| _ => error (idleft,idright) COMPLAIN
"nonfix identifier required";
v
end)
- | OP ident (fn _ => varSymbol ident)
+ | OP ident (fn _ => varSymbol ident)
-qid : ID DOT qid (fn kind => strSymbol ID :: qid kind)
- | ident (fn kind => [kind ident])
+qid : ID DOT qid (fn kind => strSymbol ID :: qid kind)
+ | ident (fn kind => [kind ident])
-selector: id (labSymbol id)
- | INT (Symbol.labSymbol(makestring INT))
+selector: id (labSymbol id)
+ | INT (Symbol.labSymbol(makestring INT))
-tycon : ID DOT tycon (strSymbol ID :: tycon)
- | ID ([tycSymbol ID])
+tycon : ID DOT tycon (strSymbol ID :: tycon)
+ | ID ([tycSymbol ID])
-tlabel : selector COLON ty (fn $ =>(selector, E ty $), V ty)
+tlabel : selector COLON ty (fn $ =>(selector, E ty $), V ty)
-tlabels : tlabel COMMA tlabels (fn $ => E tlabel $ :: E tlabels $,
+tlabels : tlabel COMMA tlabels (fn $ => E tlabel $ :: E tlabels $,
V tlabel \/ V tlabels)
| tlabel (fn $ => [E tlabel $], V tlabel)
-ty' : TYVAR (let val tyv = mkTyvar(mkUBOUND(tyvSymbol TYVAR))
+ty' : TYVAR (let val tyv = mkTyvar(mkUBOUND(tyvSymbol TYVAR))
in (fn _ => VARty tyv, singleton_tyvar tyv)
end)
| LBRACE tlabels
RBRACE (fn $ => make_recordTy(E tlabels $,
error(LBRACEleft,RBRACEright)),
V tlabels)
- | LBRACE RBRACE (fn _ => make_recordTy(nil,
+ | LBRACE RBRACE (fn _ => make_recordTy(nil,
error(LBRACEleft,RBRACEright)),
no_tyvars)
| LPAREN ty0_pc
@@ -229,12 +229,12 @@
ts)
end,
V ty0_pc)
- | LPAREN ty RPAREN (ty)
- | ty' tycon (fn env =>CONty(lookPathArTYC env (tycon,1,
+ | LPAREN ty RPAREN (ty)
+ | ty' tycon (fn env =>CONty(lookPathArTYC env (tycon,1,
error(tyconleft,tyconright)COMPLAIN),
[E ty' env]),
V ty')
- | tycon (fn env =>CONty(lookPathArTYC env (tycon, 0,
+ | tycon (fn env =>CONty(lookPathArTYC env (tycon, 0,
error(tyconleft,tyconright)COMPLAIN),[]),
no_tyvars)
@@ -242,42 +242,42 @@
tuple_ty (fn $ => E ty' $ :: E tuple_ty $,
V ty' \/ V tuple_ty)
| ty' ASTERISK
- ty' (fn $ =>[E ty'1 $, E ty'2 $], V ty'1 \/ V ty'2)
+ ty' (fn $ =>[E ty'1 $, E ty'2 $], V ty'1 \/ V ty'2)
-ty : tuple_ty (fn $ =>tupleTy(E tuple_ty $), V tuple_ty)
- | ty ARROW ty (fn $ =>CONty(arrowTycon, [E ty1 $, E ty2 $]),
+ty : tuple_ty (fn $ =>tupleTy(E tuple_ty $), V tuple_ty)
+ | ty ARROW ty (fn $ =>CONty(arrowTycon, [E ty1 $, E ty2 $]),
V ty1 \/ V ty2)
- | ty' (ty')
+ | ty' (ty')
-ty0_pc : ty COMMA ty (fn $ => [E ty1 $, E ty2 $], V ty1 \/ V ty2)
+ty0_pc : ty COMMA ty (fn $ => [E ty1 $, E ty2 $], V ty1 \/ V ty2)
| ty COMMA
- ty0_pc (fn $ => E ty $ :: E ty0_pc $, V ty \/ V ty0_pc)
+ ty0_pc (fn $ => E ty $ :: E ty0_pc $, V ty \/ V ty0_pc)
-match : rule (fn evst => [E rule evst], V rule)
+match : rule (fn evst => [E rule evst], V rule)
| rule BAR
- match (fn evst => E rule evst :: E match evst,
+ match (fn evst => E rule evst :: E match evst,
V rule \/ V match)
-rule : pat DARROW
- exp (makeRULE(E pat, fn $ => markexp(E exp $,expleft,expright),
+rule : pat DARROW
+ exp (makeRULE(E pat, fn $ => markexp(E exp $,expleft,expright),
error(patleft,patright)),
V pat \/ V exp)
-elabel : selector EQUAL
- exp (fn evst => (selector,E exp evst), V exp)
+elabel : selector EQUAL
+ exp (fn evst => (selector,E exp evst), V exp)
elabels : elabel COMMA
- elabels (fn evst => (E elabel evst :: E elabels evst),
+ elabels (fn evst => (E elabel evst :: E elabels evst),
V elabel \/ V elabels)
| elabel (fn evst => [E elabel evst], V elabel)
-exp_ps : exp (fn st => [E exp st], V exp)
+exp_ps : exp (fn st => [E exp st], V exp)
| exp SEMICOLON
- exp_ps (fn st => E exp st :: E exp_ps st, V exp \/ V exp_ps)
+ exp_ps (fn st => E exp st :: E exp_ps st, V exp \/ V exp_ps)
-exp : exp HANDLE
- match (fn st=> makeHANDLEexp(E exp st, E match st),
+exp : exp HANDLE
+ match (fn st=> makeHANDLEexp(E exp st, E match st),
V exp \/ V match)
| exp ORELSE exp
@@ -288,38 +288,38 @@
(fn st=> ANDALSOexp(markexp(E exp1 st,exp1left,exp1right),
markexp(E exp2 st,exp2left,exp2right)),
V exp1 \/ V exp2)
- | exp COLON ty (fn (st as (env,_,_))=> CONSTRAINTexp(E exp st,
+ | exp COLON ty (fn (st as (env,_,_))=> CONSTRAINTexp(E exp st,
E ty env),
V exp \/ V ty)
- | app_exp (fn st=> exp_finish(E app_exp st,
+ | app_exp (fn st=> exp_finish(E app_exp st,
error(app_expright,app_expright)),
V app_exp)
- | FN match (fn st=> markexp(FNexp(completeMatch(E match st)),
+ | FN match (fn st=> markexp(FNexp(completeMatch(E match st)),
FNleft,matchright),
V match)
| CASE exp
- OF match (fn st=>markexp(CASEexp(E exp st,
+ OF match (fn st=>markexp(CASEexp(E exp st,
completeMatch(E match st)),
CASEleft,matchright),
V exp \/ V match)
| WHILE exp
- DO exp (fn st=> WHILEexp(E exp1 st,
+ DO exp (fn st=> WHILEexp(E exp1 st,
markexp(E exp2 st,exp2left,exp2right)),
V exp1 \/ V exp2)
| IF exp THEN exp
- ELSE exp (fn st=>IFexp(E exp1 st,
+ ELSE exp (fn st=>IFexp(E exp1 st,
markexp(E exp2 st,exp2left,exp2right),
markexp(E exp3 st,exp3left,exp3right)),
V exp1 \/ V exp2 \/ V exp3)
- | RAISE exp (fn st=>markexp(RAISEexp(E exp st),RAISEleft,expright),
+ | RAISE exp (fn st=>markexp(RAISEexp(E exp st),RAISEleft,expright),
V exp)
-app_exp : aexp (fn st => exp_start(markexp(E aexp st, aexpleft,aexpright),
+app_exp : aexp (fn st => exp_start(markexp(E aexp st, aexpleft,aexpright),
NONfix,
error (aexpleft,aexpright)),
V aexp)
- | ident (fn (env,_,_) =>
+ | ident (fn (env,_,_) =>
let val e = error(identleft,identright)
val (v,f) = var'n'fix ident
in exp_start(markexp(lookID env (v,e),
@@ -327,12 +327,12 @@
lookFIX env f, e)
end,
no_tyvars)
- | app_exp aexp (fn st => exp_parse(E app_exp st,
+ | app_exp aexp (fn st => exp_parse(E app_exp st,
markexp(E aexp st, aexpleft,aexpright),
NONfix,
error (aexpleft,aexpright)),
V app_exp \/ V aexp)
- | app_exp ident (fn (st as (env,_,_)) =>
+ | app_exp ident (fn (st as (env,_,_)) =>
let val e = error(identleft,identright)
val (v,f) = var'n'fix ident
in exp_parse(E app_exp st,
@@ -342,29 +342,29 @@
end,
V app_exp)
-aexp : OP ident (fn (env,_,_) => lookID env (varSymbol ident, error(identleft,identright)),
+aexp : OP ident (fn (env,_,_) => lookID env (varSymbol ident, error(identleft,identright)),
no_tyvars)
- | ID DOT qid (fn (env,_,_) =>
+ | ID DOT qid (fn (env,_,_) =>
varcon(lookPathVARCON env (strSymbol ID
::(qid varSymbol),
error(IDleft,qidright)COMPLAIN)),
no_tyvars)
- | int (fn st => INTexp int, no_tyvars)
- | REAL (fn st => REALexp REAL, no_tyvars)
+ | int (fn st => INTexp int, no_tyvars)
+ | REAL (fn st => REALexp REAL, no_tyvars)
| STRING (fn st => STRINGexp STRING, no_tyvars)
- | HASH selector (fn st => SELECTORexp selector, no_tyvars)
- | LBRACE elabels RBRACE (fn st=> makeRECORDexp(E elabels st,
+ | HASH selector (fn st => SELECTORexp selector, no_tyvars)
+ | LBRACE elabels RBRACE (fn st=> makeRECORDexp(E elabels st,
error(LBRACEleft,RBRACEright)),
V elabels)
- | LBRACE RBRACE (fn st=> RECORDexp nil, no_tyvars)
- | LPAREN RPAREN (fn st=> unitExp, no_tyvars)
- | LPAREN exp_ps RPAREN (fn st=> SEQexp(E exp_ps st), V exp_ps)
- | LPAREN exp_2c RPAREN (fn st=> TUPLEexp(E exp_2c st), V exp_2c)
+ | LBRACE RBRACE (fn st=> RECORDexp nil, no_tyvars)
+ | LPAREN RPAREN (fn st=> unitExp, no_tyvars)
+ | LPAREN exp_ps RPAREN (fn st=> SEQexp(E exp_ps st), V exp_ps)
+ | LPAREN exp_2c RPAREN (fn st=> TUPLEexp(E exp_2c st), V exp_2c)
| LBRACKET exp_list
RBRACKET (fn st=> LISTexp(E exp_list st), V exp_list)
- | LBRACKET RBRACKET (fn st=> nilExp, no_tyvars)
+ | LBRACKET RBRACKET (fn st=> nilExp, no_tyvars)
| LET ldecs
- IN exp_ps END (fn (env,tv,st) =>
+ IN exp_ps END (fn (env,tv,st) =>
let val (d,env') = E ldecs(env,[],tv,st)
val e = E exp_ps (Env.atop(env',env),tv,st)
in markexp(LETexp(d,SEQexp e),
@@ -372,25 +372,25 @@
end,
V exp_ps \/ V ldecs)
-exp_2c : exp COMMA exp_2c (fn st=> E exp st :: E exp_2c st,
+exp_2c : exp COMMA exp_2c (fn st=> E exp st :: E exp_2c st,
V exp \/ V exp_2c)
- | exp COMMA exp (fn st=> [E exp1 st, E exp2 st],
+ | exp COMMA exp (fn st=> [E exp1 st, E exp2 st],
V exp1 \/ V exp2)
-exp_list : exp (fn st=> [E exp st], V exp)
- | exp COMMA exp_list (fn st=> E exp st :: E exp_list st,
+exp_list : exp (fn st=> [E exp st], V exp)
+ | exp COMMA exp_list (fn st=> E exp st :: E exp_list st,
V exp \/ V exp_list)
-pat : pat' (pat')
- | apat apats (fn $ => make_app_pat(E apat $ ::E apats $),
+pat : pat' (pat')
+ | apat apats (fn $ => make_app_pat(E apat $ ::E apats $),
V apat \/ V apats)
-pat' : pat AS pat (fn $ => layered(E pat1 $, E pat2 $,
+pat' : pat AS pat (fn $ => layered(E pat1 $, E pat2 $,
error(pat1left,pat1right)),
V pat1 \/ V pat2)
| pat'' (pat'')
-pat'' : apat apats
+pat'' : apat apats
COLON ty (fn env => CONSTRAINTpat(
make_app_pat(E apat env ::E apats env),
E ty env),
@@ -398,130 +398,130 @@
| pat'' COLON ty (fn env => CONSTRAINTpat(E pat'' env, E ty env),
V pat'' \/ V ty)
-apat : apat' (apat')
- | LPAREN pat RPAREN (fn $ =>(E pat $,NONfix,error(LPARENleft,RPARENright)),
+apat : apat' (apat')
+ | LPAREN pat RPAREN (fn $ =>(E pat $,NONfix,error(LPARENleft,RPARENright)),
V pat)
-apat' : apat'' (fn $ =>(E apat'' $,NONfix,error(apat''left,apat''right)),
+apat' : apat'' (fn $ =>(E apat'' $,NONfix,error(apat''left,apat''right)),
V apat'')
- | id (fn env =>
+ | id (fn env =>
let val e = error(idleft,idright)
val (v,f) = var'n'fix id
in (pat_id env v, lookFIX env f, e)
end,
no_tyvars)
- | LPAREN RPAREN (fn _ =>(unitPat,NONfix,
+ | LPAREN RPAREN (fn _ =>(unitPat,NONfix,
error(LPARENleft,RPARENright)),
no_tyvars)
| LPAREN pat COMMA
- pat_list RPAREN (fn $ =>(TUPLEpat(E pat $ ::E pat_list $),
+ pat_list RPAREN (fn $ =>(TUPLEpat(E pat $ ::E pat_list $),
NONfix,error(LPARENleft,RPARENright)),
V pat \/ V pat_list)
-apat'' : OP ident (fn env =>pat_id env(varSymbol ident), no_tyvars)
- | ID DOT qid (fn env =>qid_pat env (strSymbol ID :: qid varSymbol,
+apat'' : OP ident (fn env =>pat_id env(varSymbol ident), no_tyvars)
+ | ID DOT qid (fn env =>qid_pat env (strSymbol ID :: qid varSymbol,
error(IDleft,qidright)),
no_tyvars)
- | int (fn _ =>INTpat int, no_tyvars)
- | REAL (fn _ =>REALpat REAL, no_tyvars)
+ | int (fn _ =>INTpat int, no_tyvars)
+ | REAL (fn _ =>REALpat REAL, no_tyvars)
| STRING (fn _ =>STRINGpat STRING, no_tyvars)
- | WILD (fn _ =>WILDpat, no_tyvars)
- | LBRACKET RBRACKET (fn _ =>LISTpat nil, no_tyvars)
+ | WILD (fn _ =>WILDpat, no_tyvars)
+ | LBRACKET RBRACKET (fn _ =>LISTpat nil, no_tyvars)
| LBRACKET pat_list
RBRACKET (fn $ =>LISTpat(E pat_list $), V pat_list)
- | LBRACE RBRACE (fn _ =>makeRECORDpat((nil,false),
+ | LBRACE RBRACE (fn _ =>makeRECORDpat((nil,false),
error(LBRACEleft,RBRACEright)),
no_tyvars)
- | LBRACE plabels RBRACE (fn $ =>makeRECORDpat(E plabels $,
+ | LBRACE plabels RBRACE (fn $ =>makeRECORDpat(E plabels $,
error(LBRACEleft,RBRACEright)),
V plabels)
-plabel : selector EQUAL pat (fn $ => (selector,E pat $), V pat)
- | ID (fn env => (labSymbol ID, pat_id env(varSymbol ID)), no_tyvars)
- | ID AS pat (fn env => (labSymbol ID, LAYEREDpat(pat_id env (varSymbol ID),
+plabel : selector EQUAL pat (fn $ => (selector,E pat $), V pat)
+ | ID (fn env => (labSymbol ID, pat_id env(varSymbol ID)), no_tyvars)
+ | ID AS pat (fn env => (labSymbol ID, LAYEREDpat(pat_id env (varSymbol ID),
E pat env)),
V pat)
- | ID COLON ty (fn env => (labSymbol ID, CONSTRAINTpat(pat_id env (varSymbol ID),
+ | ID COLON ty (fn env => (labSymbol ID, CONSTRAINTpat(pat_id env (varSymbol ID),
E ty env)),
V ty)
- | ID COLON ty AS pat (fn env => (labSymbol ID, LAYEREDpat(CONSTRAINTpat(
+ | ID COLON ty AS pat (fn env => (labSymbol ID, LAYEREDpat(CONSTRAINTpat(
pat_id env (varSymbol ID),
E ty env), E pat env)),
V ty \/ V pat)
plabels : plabel COMMA
- plabels (fn $ =>let val (a,(b,fx))=(E plabel $,E plabels $)
+ plabels (fn $ =>let val (a,(b,fx))=(E plabel $,E plabels $)
in (a::b, fx)
end,
V plabel \/ V plabels)
| plabel (fn $ => ([E plabel $],false), V plabel)
- | DOTDOTDOT (fn _ => (nil, true), no_tyvars)
+ | DOTDOTDOT (fn _ => (nil, true), no_tyvars)
-pat_list: pat (fn $ => [E pat $], V pat)
- | pat COMMA pat_list (fn $ => E pat $ :: E pat_list $,
+pat_list: pat (fn $ => [E pat $], V pat)
+ | pat COMMA pat_list (fn $ => E pat $ :: E pat_list $,
V pat \/ V pat_list)
-vb : vb AND vb (fn st=> vb1 st @ vb2 st)
- | pat EQUAL exp (valbind(pat, exp))
+vb : vb AND vb (fn st=> vb1 st @ vb2 st)
+ | pat EQUAL exp (valbind(pat, exp))
-constraint : (fn _ =>NONE, no_tyvars)
- | COLON ty (fn env =>SOME(E ty env), V ty)
+constraint : (fn _ =>NONE, no_tyvars)
+ | COLON ty (fn env =>SOME(E ty env), V ty)
-rvb : opid constraint
- EQUAL FN match (fn env =>[{name=opid env,
+rvb : opid constraint
+ EQUAL FN match (fn env =>[{name=opid env,
ty=constraint,match=match}])
- | rvb AND rvb (fn env => (rvb1 env) @ (rvb2 env))
+ | rvb AND rvb (fn env => (rvb1 env) @ (rvb2 env))
-fb' : clause (fn $ =>[E clause $], V clause)
+fb' : clause (fn $ =>[E clause $], V clause)
| clause BAR fb' (fn $ =>E clause $ ::E fb' $, V clause \/ V fb')
-fb : fb' (fn $ => [checkFB(E fb' $,error(fb'left,fb'right))],
+fb : fb' (fn $ => [checkFB(E fb' $,error(fb'left,fb'right))],
V fb')
- | fb' AND fb (fn $ =>
+ | fb' AND fb (fn $ =>
checkFB(E fb' $,error(fb'left,fb'right)) :: E fb $, V fb' \/ V fb)
-clause' : LPAREN apat apats
- RPAREN apats (fn $ =>makecl(E apat $ ::E apats1 $,E apats2 $),
+clause' : LPAREN apat apats
+ RPAREN apats (fn $ =>makecl(E apat $ ::E apats1 $,E apats2 $),
V apat \/ V apats1 \/ V apats2)
| LPAREN pat'
- RPAREN apats (fn $ =>makecl([],(E pat' $,NONfix,
+ RPAREN apats (fn $ =>makecl([],(E pat' $,NONfix,
error(LPARENleft,RPARENright))
::E apats $),
V pat' \/ V apats)
- | apat' apats (fn $ =>makecl([],E apat' $ ::E apats $),
+ | apat' apats (fn $ =>makecl([],E apat' $ ::E apats $),
V apat' \/ V apats)
-apats : (fn _ =>nil, no_tyvars)
- | apat apats (fn $ => E apat $ ::E apats $,
+apats : (fn _ =>nil, no_tyvars)
+ | apat apats (fn $ => E apat $ ::E apats $,
V apat \/ V apats)
-clause : clause' constraint
- EQUAL exp (fn env =>
+clause : clause' constraint
+ EQUAL exp (fn env =>
let val (id,pats) = E clause' env
in {name=id,pats=pats,
resultty=E constraint env,
- exp=fn $ => markexp(E exp $,expleft,expright),
+ exp=fn $ => markexp(E exp $,expleft,expright),
err=error(clause'left,clause'right)}
end,
V clause' \/ V constraint \/ V exp)
-tb : tyvars ID EQUAL ty (makeTB(tyvars, tycSymbol ID, ty,
+tb : tyvars ID EQUAL ty (makeTB(tyvars, tycSymbol ID, ty,
error(tyleft,tyright)))
- | tb AND tb (fn nw => sequence(tb1 nw,tb2 nw))
+ | tb AND tb (fn nw => sequence(tb1 nw,tb2 nw))
-tyvars : TYVAR ([mkTyvar(mkUBOUND(tyvSymbol TYVAR))])
+tyvars : TYVAR ([mkTyvar(mkUBOUND(tyvSymbol TYVAR))])
| LPAREN tyvar_pc RPAREN (checkUniq(error(tyvar_pcleft,tyvar_pcright),
- "duplicate type variable")
+ "duplicate type variable")
(List.map(fn ref(UBOUND{name,...})=>name)
tyvar_pc);
tyvar_pc)
- | (nil)
+ | (nil)
-tyvar_pc: TYVAR ([mkTyvar(mkUBOUND(tyvSymbol TYVAR))])
- | TYVAR COMMA tyvar_pc (mkTyvar(mkUBOUND(tyvSymbol TYVAR)) :: tyvar_pc)
+tyvar_pc: TYVAR ([mkTyvar(mkUBOUND(tyvSymbol TYVAR))])
+ | TYVAR COMMA tyvar_pc (mkTyvar(mkUBOUND(tyvSymbol TYVAR)) :: tyvar_pc)
-db : db AND db (db1 @ db2)
+db : db AND db (db1 @ db2)
| tyvars ident EQUAL constrs (let val name = tycSymbol ident
in [(name,length tyvars,
makeDB'(tyvars,name,constrs,
@@ -529,204 +529,204 @@
end)
constrs : constr (fn $ => [E constr $], V constr)
- | constr BAR constrs (fn $ => E constr $ :: E constrs $,
+ | constr BAR constrs (fn $ => E constr $ :: E constrs $,
V constr \/ V constrs)
-constr : op_op ident (fire op_op (fn(_,t)=> (varSymbol ident,true,t)),
+constr : op_op ident (fire op_op (fn(_,t)=> (varSymbol ident,true,t)),
no_tyvars)
- | op_op ident OF ty (fire op_op (fn(env,t)=> (varSymbol ident,false,
+ | op_op ident OF ty (fire op_op (fn(env,t)=> (varSymbol ident,false,
CONty(arrowTycon,[E ty env, t]))),
V ty)
-eb : op_op ident (fire op_op (makeEB(varSymbol ident)), no_tyvars)
- | op_op ident OF ty (fire op_op (makeEBof(varSymbol ident,E ty,
+eb : op_op ident (fire op_op (makeEB(varSymbol ident)), no_tyvars)
+ | op_op ident OF ty (fire op_op (makeEBof(varSymbol ident,E ty,
error(tyleft,tyright))),
V ty)
- | op_op ident EQUAL qid (fire op_op (makeEBeq(varSymbol ident,qid varSymbol,
+ | op_op ident EQUAL qid (fire op_op (makeEBeq(varSymbol ident,qid varSymbol,
error(qidleft,qidright))),
no_tyvars)
- | eb AND eb (sequence(E eb1,E eb2),
+ | eb AND eb (sequence(E eb1,E eb2),
V eb1 \/ V eb2)
-qid_p0 : qid ([qid strSymbol])
- | qid qid_p0 (qid strSymbol :: qid_p0)
+qid_p0 : qid ([qid strSymbol])
+ | qid qid_p0 (qid strSymbol :: qid_p0)
-qid_p : qid (fn env => [getSTRpath env (qid strSymbol,error(qidleft,qidright))])
- | qid qid_p (fn env => getSTRpath env (qid strSymbol,error(qidleft,qidright)) :: qid_p env)
+qid_p : qid (fn env => [getSTRpath env (qid strSymbol,error(qidleft,qidright))])
+ | qid qid_p (fn env => getSTRpath env (qid strSymbol,error(qidleft,qidright)) :: qid_p env)
-fixity : INFIX (infixleft 0)
- | INFIX int (infixleft int)
+fixity : INFIX (infixleft 0)
+ | INFIX int (infixleft int)
| INFIXR (infixright 0)
- | INFIXR int (infixright int)
+ | INFIXR int (infixright int)
| NONFIX (NONfix)
-ldec : VAL vb (makeVALdec(vb,error(vbleft,vbright)),
+ldec : VAL vb (makeVALdec(vb,error(vbleft,vbright)),
no_tyvars)
- | VAL REC rvb (makeVALRECdec (rvb,error(rvbleft,rvbright)),
+ | VAL REC rvb (makeVALRECdec (rvb,error(rvbleft,rvbright)),
no_tyvars)
| FUN fb (makeFUNdec fb, no_tyvars)
- | TYPE tb ((fn $ => makeTYPEdec(tb true $,
+ | TYPE tb ((fn $ => makeTYPEdec(tb true $,
error(tbleft,tbright))),
no_tyvars)
- | DATATYPE db (makeDB(db, nullTB), no_tyvars)
- | DATATYPE db
- WITHTYPE tb (makeDB(db,tb), no_tyvars)
+ | DATATYPE db (makeDB(db, nullTB), no_tyvars)
+ | DATATYPE db
+ WITHTYPE tb (makeDB(db,tb), no_tyvars)
| ABSTYPE db
- WITH ldecs END (makeABSTYPEdec(db,nullTB,E ldecs),V ldecs)
+ WITH ldecs END (makeABSTYPEdec(db,nullTB,E ldecs),V ldecs)
| ABSTYPE db
WITHTYPE tb
WITH ldecs END (makeABSTYPEdec(db,tb,E ldecs),V ldecs)
- | EXCEPTION eb ((fn $ => makeEXCEPTIONdec(E eb $,
+ | EXCEPTION eb ((fn $ => makeEXCEPTIONdec(E eb $,
error(ebleft,ebright))),
V eb)
- | OPEN qid_p (makeOPENdec qid_p, no_tyvars)
- | fixity ops (makeFIXdec(fixity,ops), no_tyvars)
+ | OPEN qid_p (makeOPENdec qid_p, no_tyvars)
+ | fixity ops (makeFIXdec(fixity,ops), no_tyvars)
| OVERLOAD ident COLON
- ty AS exp_pa (makeOVERLOADdec(varSymbol ident,ty,exp_pa),
+ ty AS exp_pa (makeOVERLOADdec(varSymbol ident,ty,exp_pa),
no_tyvars)
-exp_pa : exp (fn st => [E exp st])
+exp_pa : exp (fn st => [E exp st])
| exp AND exp_pa (fn st => E exp st :: exp_pa st)
-ldecs : (fn $ => (SEQdec nil,Env.empty), no_tyvars)
- | ldec ldecs (makeSEQdec(fn $ => markdec(E ldec $,ldecleft,ldecright),
+ldecs : (fn $ => (SEQdec nil,Env.empty), no_tyvars)
+ | ldec ldecs (makeSEQdec(fn $ => markdec(E ldec $,ldecleft,ldecright),
E ldecs),
V ldec \/ V ldecs)
- | SEMICOLON ldecs (ldecs)
+ | SEMICOLON ldecs (ldecs)
| LOCAL ldecs
- IN ldecs END ldecs (makeSEQdec(fn $ =>
+ IN ldecs END ldecs (makeSEQdec(fn $ =>
markdec(makeLOCALdec(E ldecs1,E ldecs2) $,
- LOCALleft,ENDright),
+ LOCALleft,ENDright),
E ldecs3),
V ldecs1 \/ V ldecs2 \/ V ldecs3)
-ops : ident ([fixSymbol ident])
- | ident ops (fixSymbol ident :: ops)
+ops : ident ([fixSymbol ident])
+ | ident ops (fixSymbol ident :: ops)
-spec_s : (fn $ => nil)
- | spec spec_s (fn $ => spec $ @ spec_s $)
- | SEMICOLON spec_s (spec_s)
+spec_s : (fn $ => nil)
+ | spec spec_s (fn $ => spec $ @ spec_s $)
+ | SEMICOLON spec_s (spec_s)
-spec : STRUCTURE strspec (strspec)
- | DATATYPE db (make_dtyspec db)
- | TYPE tyspec (tyspec UNDEF)
- | EQTYPE tyspec (tyspec YES)
- | VAL valspec (valspec)
- | EXCEPTION exnspec (exnspec)
- | fixity ops (make_fixityspec(fixity,ops))
- | SHARING sharespec (sharespec)
- | OPEN qid_p0 (make_openspec(qid_p0,
+spec : STRUCTURE strspec (strspec)
+ | DATATYPE db (make_dtyspec db)
+ | TYPE tyspec (tyspec UNDEF)
+ | EQTYPE tyspec (tyspec YES)
+ | VAL valspec (valspec)
+ | EXCEPTION exnspec (exnspec)
+ | fixity ops (make_fixityspec(fixity,ops))
+ | SHARING sharespec (sharespec)
+ | OPEN qid_p0 (make_openspec(qid_p0,
error(OPENleft,qid_p0right)))
| LOCAL spec_s
- IN spec_s END (fn $ => (spec_s1 $;
+ IN spec_s END (fn $ => (spec_s1 $;
error(spec_s1left,spec_s1right) WARN
"LOCAL specs are only partially implemented";
spec_s2 $))
- | INCLUDE ident (make_includespec (sigSymbol ident,error(identleft,identright)))
+ | INCLUDE ident (make_includespec (sigSymbol ident,error(identleft,identright)))
-strspec : strspec AND strspec (fn $ => strspec1 $ @ strspec2 $)
- | ident COLON sign (make_strspec(strSymbol ident, sign(false,false,NULLstr)))
+strspec : strspec AND strspec (fn $ => strspec1 $ @ strspec2 $)
+ | ident COLON sign (make_strspec(strSymbol ident, sign(false,false,NULLstr)))
-tyspec : tyspec AND tyspec (fn eq => fn $ =>
+tyspec : tyspec AND tyspec (fn eq => fn $ =>
tyspec1 eq $ @ tyspec2 eq $)
- | tyvars ID (fn eq => make_tyspec(eq,tyvars,tycSymbol ID,
+ | tyvars ID (fn eq => make_tyspec(eq,tyvars,tycSymbol ID,
error(tyvarsleft,IDright)))
-valspec : valspec AND valspec (fn $ => valspec1 $ @ valspec2 $)
- | op_op ident COLON ty (fire op_op (make_valspec(varSymbol ident,ty)))
+valspec : valspec AND valspec (fn $ => valspec1 $ @ valspec2 $)
+ | op_op ident COLON ty (fire op_op (make_valspec(varSymbol ident,ty)))
-exnspec : exnspec AND exnspec (fn $ => exnspec1 $ @ exnspec2 $)
- | ident (make_exnspec(varSymbol ident))
- | ident OF ty (make_exnspecOF (varSymbol ident,ty))
+exnspec : exnspec AND exnspec (fn $ => exnspec1 $ @ exnspec2 $)
+ | ident (make_exnspec(varSymbol ident))
+ | ident OF ty (make_exnspecOF (varSymbol ident,ty))
sharespec: sharespec AND
- sharespec (fn $ => sharespec1 $ @ sharespec2 $)
- | TYPE patheqn (make_type_sharespec(patheqn tycSymbol))
- | patheqn (make_str_sharespec(patheqn strSymbol))
+ sharespec (fn $ => sharespec1 $ @ sharespec2 $)
+ | TYPE patheqn (make_type_sharespec(patheqn tycSymbol))
+ | patheqn (make_str_sharespec(patheqn strSymbol))
-patheqn: qid EQUAL qid (fn kind => [qid1 kind, qid2 kind])
- | qid EQUAL patheqn (fn kind => qid kind :: patheqn kind)
+patheqn: qid EQUAL qid (fn kind => [qid1 kind, qid2 kind])
+ | qid EQUAL patheqn (fn kind => qid kind :: patheqn kind)
-sign : ID (makeSIGid(sigSymbol ID,error(IDleft,IDright)))
+sign : ID (makeSIGid(sigSymbol ID,error(IDleft,IDright)))
| SIG spec_s END (makeSIG(spec_s,error(spec_sleft,spec_sright)))
-sigconstraint_op : (fn _ => NONE)
- | COLON sign (fn (env,param) =>
+sigconstraint_op : (fn _ => NONE)
+ | COLON sign (fn (env,param) =>
SOME(sign(true,false,param) (env,Stampset.newStampsets())))
-sigb : sigb AND sigb (sequence'(sigb1,sigb2))
- | ident EQUAL sign (make_sigb(sigSymbol ident, sign(true,false,NULLstr)))
+sigb : sigb AND sigb (sequence'(sigb1,sigb2))
+ | ident EQUAL sign (make_sigb(sigSymbol ident, sign(true,false,NULLstr)))
-str : qid (markstr(make_str_qid(qid strSymbol,
+str : qid (markstr(make_str_qid(qid strSymbol,
error(qidleft,qidright)),qidleft,qidright))
- | STRUCT sdecs END (markstr(make_str_struct(sdecs,
+ | STRUCT sdecs END (markstr(make_str_struct(sdecs,
error(STRUCTleft,ENDright)),
STRUCTleft,ENDright))
| ID LPAREN sdecs
- RPAREN (markstr(make_str_app(fctSymbol ID,error(IDleft,IDright),
+ RPAREN (markstr(make_str_app(fctSymbol ID,error(IDleft,IDright),
(fn $ => let val (s,s')=spread_args sdecs $
in (MARKstr(s,sdecsleft,sdecsright)
,s')
end)),IDleft,RPARENright))
- | ID LPAREN str RPAREN (markstr(make_str_app(fctSymbol ID,error(IDleft,IDright),
+ | ID LPAREN str RPAREN (markstr(make_str_app(fctSymbol ID,error(IDleft,IDright),
single_arg str),IDleft,RPARENright))
- | LET sdecs IN str END (markstr(make_str_let(sdecs,str),LETleft,ENDright))
+ | LET sdecs IN str END (markstr(make_str_let(sdecs,str),LETleft,ENDright))
-sdecs : sdec sdecs (sequence(fn $ => markdec'(sdec $,sdecleft,
+sdecs : sdec sdecs (sequence(fn $ => markdec'(sdec $,sdecleft,
sdecright),
sdecs))
- | SEMICOLON sdecs (sdecs)
+ | SEMICOLON sdecs (sdecs)
| LOCAL sdecs IN sdecs
- END sdecs (sequence(fn $ => markdec''(makeLOCALsdecs(sdecs1,sdecs2) $,LOCALleft,ENDright),
+ END sdecs (sequence(fn $ => markdec''(makeLOCALsdecs(sdecs1,sdecs2) $,LOCALleft,ENDright),
sdecs3))
- | (fn $ => (nil,Env.empty))
+ | (fn $ => (nil,Env.empty))
-sdecs' : sdec sdecs' (sequence(fn $ => markdec'(sdec $,sdecleft,sdecright),
+sdecs' : sdec sdecs' (sequence(fn $ => markdec'(sdec $,sdecleft,sdecright),
sdecs'))
| LOCAL sdecs IN sdecs
- END sdecs' (sequence(fn $ =>
+ END sdecs' (sequence(fn $ =>
markdec''(makeLOCALsdecs(sdecs1,sdecs2) $,
LOCALleft,ENDright),
sdecs'))
| LOCAL sdecs IN sdecs
- END (fn $ => markdec''(makeLOCALsdecs(sdecs1,sdecs2) $,LOCALleft,ENDright))
+ END (fn $ => markdec''(makeLOCALsdecs(sdecs1,sdecs2) $,LOCALleft,ENDright))
- | sdec (fn $ => seqdec(markdec(sdec $,sdecleft,sdecright)))
+ | sdec (fn $ => seqdec(markdec(sdec $,sdecleft,sdecright)))
-sdec : STRUCTURE strb (makeSTRBs(strb false))
- | ABSTRACTION strb (makeSTRBs(strb true))
+sdec : STRUCTURE strb (makeSTRBs(strb false))
+ | ABSTRACTION strb (makeSTRBs(strb true))
| SIGNATURE sigb (makeSIGdec(sigb,error(SIGNATUREleft,sigbright)))
- | FUNCTOR fctb (makeFCTdec(fctb,error(FUNCTORleft,fctbright)))
- | ldec (fn (env,pa,top,st) =>
+ | FUNCTOR fctb (makeFCTdec(fctb,error(FUNCTORleft,fctbright)))
+ | ldec (fn (env,pa,top,st) =>
let val (dec,env') = markdec(E ldec(env,pa,no_tyvars,st),ldecleft,ldecright)
in Typecheck.decType(Env.atop(env',env),dec,top,error,
(ldecleft,ldecright));
(dec,env')
end)
-strb : ident sigconstraint_op
- EQUAL str (makeSTRB(strSymbol ident,sigconstraint_op,str,
+strb : ident sigconstraint_op
+ EQUAL str (makeSTRB(strSymbol ident,sigconstraint_op,str,
error(sigconstraint_opleft,sigconstraint_opright)))
- | strb AND strb (fn a => fn $ => strb1 a $ @ strb2 a $)
+ | strb AND strb (fn a => fn $ => strb1 a $ @ strb2 a $)
-fparam : ID COLON sign (single_formal(strSymbol ID, sign(true,true,NULLstr)))
+fparam : ID COLON sign (single_formal(strSymbol ID, sign(true,true,NULLstr)))
| spec_s (spread_formal(spec_s,
error(spec_sleft,spec_sright)))
-fctb : ident LPAREN fparam RPAREN
- sigconstraint_op EQUAL str (makeFCTB(fctSymbol ident,fparam,
+fctb : ident LPAREN fparam RPAREN
+ sigconstraint_op EQUAL str (makeFCTB(fctSymbol ident,fparam,
sigconstraint_op,str,
error(strleft,strright)))
- | fctb AND fctb (fn $ => fctb1 $ @ fctb2 $)
+ | fctb AND fctb (fn $ => fctb1 $ @ fctb2 $)
-importdec: STRING ([STRING])
- | STRING importdec (STRING :: importdec)
+importdec: STRING ([STRING])
+ | STRING importdec (STRING :: importdec)
interdec: sdecs' (fn env=> let val (s,e)= sdecs'(env,[],true,Stampset.globalStamps)
in markdec((SEQdec s,e),sdecs'left,sdecs'right)
end)
- | IMPORT importdec (fn env =>(IMPORTdec importdec,env))
- | exp (fn env=>markdec(toplevelexp(env,exp,error,(expleft,expright)),
+ | IMPORT importdec (fn env =>(IMPORTdec importdec,env))
+ | exp (fn env=>markdec(toplevelexp(env,exp,error,(expleft,expright)),
expleft,expright))
Modified: mlton/trunk/benchmark/tests/DATA/ml.lex
===================================================================
--- mlton/trunk/benchmark/tests/DATA/ml.lex 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/DATA/ml.lex 2005-08-21 18:31:31 UTC (rev 4020)
@@ -15,9 +15,9 @@
let val pos = Integer.max(!stringstart+2, hd(!linePos))
in if !comLevel>0 then err (!stringstart,pos) COMPLAIN
"unclosed comment"
- else ();
+ else ();
Tokens.EOF(pos,pos)
- end
+ end
fun addString (charlist,s:string) = charlist := s :: (!charlist)
fun makeString charlist = (implode(rev(!charlist)) before charlist := nil)
fun makeHexInt sign s = let
@@ -42,81 +42,81 @@
real=(~?)(({num}{frac}?{exp})|({num}{frac}{exp}?));
hexnum=[0-9a-fA-F]+;
%%
-<INITIAL>{ws} => (continue());
-<INITIAL>\n => (inc lineNum; linePos := yypos :: !linePos; continue());
-<INITIAL>"*" => (Tokens.ASTERISK(yypos,yypos+1));
-<INITIAL>"|" => (Tokens.BAR(yypos,yypos+1));
-<INITIAL>":" => (Tokens.COLON(yypos,yypos+1));
-<INITIAL>"=" => (Tokens.EQUAL(yypos,yypos+1));
-<INITIAL>"_" => (Tokens.WILD(yypos,yypos+1));
-<INITIAL>"#" => (Tokens.HASH(yypos,yypos+1));
-<INITIAL>"," => (Tokens.COMMA(yypos,yypos+1));
-<INITIAL>"{" => (Tokens.LBRACE(yypos,yypos+1));
-<INITIAL>"}" => (Tokens.RBRACE(yypos,yypos+1));
-<INITIAL>"[" => (Tokens.LBRACKET(yypos,yypos+1));
-<INITIAL>"]" => (Tokens.RBRACKET(yypos,yypos+1));
-<INITIAL>";" => (Tokens.SEMICOLON(yypos,yypos+1));
-<INITIAL>"(" => (Tokens.LPAREN(yypos,yypos+1));
-<INITIAL>")" => (Tokens.RPAREN(yypos,yypos+1));
-<INITIAL>"and" => (Tokens.AND(yypos,yypos+3));
-<INITIAL>"abstraction" => (Tokens.ABSTRACTION(yypos,yypos+11));
-<INITIAL>"abstype" => (Tokens.ABSTYPE(yypos,yypos+7));
-<INITIAL>"->" => (Tokens.ARROW(yypos,yypos+2));
-<INITIAL>"as" => (Tokens.AS(yypos,yypos+2));
-<INITIAL>"case" => (Tokens.CASE(yypos,yypos+4));
-<INITIAL>"datatype" => (Tokens.DATATYPE(yypos,yypos+8));
-<INITIAL>"." => (Tokens.DOT(yypos,yypos+1));
-<INITIAL>"..." => (Tokens.DOTDOTDOT(yypos,yypos+3));
-<INITIAL>"else" => (Tokens.ELSE(yypos,yypos+4));
-<INITIAL>"end" => (Tokens.END(yypos,yypos+3));
-<INITIAL>"eqtype" => (Tokens.EQTYPE(yypos,yypos+6));
-<INITIAL>"exception" => (Tokens.EXCEPTION(yypos,yypos+9));
-<INITIAL>"do" => (Tokens.DO(yypos,yypos+2));
-<INITIAL>"=>" => (Tokens.DARROW(yypos,yypos+2));
-<INITIAL>"fn" => (Tokens.FN(yypos,yypos+2));
-<INITIAL>"fun" => (Tokens.FUN(yypos,yypos+3));
-<INITIAL>"functor" => (Tokens.FUNCTOR(yypos,yypos+7));
-<INITIAL>"handle" => (Tokens.HANDLE(yypos,yypos+6));
-<INITIAL>"if" => (Tokens.IF(yypos,yypos+2));
-<INITIAL>"in" => (Tokens.IN(yypos,yypos+2));
-<INITIAL>"include" => (Tokens.INCLUDE(yypos,yypos+7));
+<INITIAL>{ws} => (continue());
+<INITIAL>\n => (inc lineNum; linePos := yypos :: !linePos; continue());
+<INITIAL>"*" => (Tokens.ASTERISK(yypos,yypos+1));
+<INITIAL>"|" => (Tokens.BAR(yypos,yypos+1));
+<INITIAL>":" => (Tokens.COLON(yypos,yypos+1));
+<INITIAL>"=" => (Tokens.EQUAL(yypos,yypos+1));
+<INITIAL>"_" => (Tokens.WILD(yypos,yypos+1));
+<INITIAL>"#" => (Tokens.HASH(yypos,yypos+1));
+<INITIAL>"," => (Tokens.COMMA(yypos,yypos+1));
+<INITIAL>"{" => (Tokens.LBRACE(yypos,yypos+1));
+<INITIAL>"}" => (Tokens.RBRACE(yypos,yypos+1));
+<INITIAL>"[" => (Tokens.LBRACKET(yypos,yypos+1));
+<INITIAL>"]" => (Tokens.RBRACKET(yypos,yypos+1));
+<INITIAL>";" => (Tokens.SEMICOLON(yypos,yypos+1));
+<INITIAL>"(" => (Tokens.LPAREN(yypos,yypos+1));
+<INITIAL>")" => (Tokens.RPAREN(yypos,yypos+1));
+<INITIAL>"and" => (Tokens.AND(yypos,yypos+3));
+<INITIAL>"abstraction" => (Tokens.ABSTRACTION(yypos,yypos+11));
+<INITIAL>"abstype" => (Tokens.ABSTYPE(yypos,yypos+7));
+<INITIAL>"->" => (Tokens.ARROW(yypos,yypos+2));
+<INITIAL>"as" => (Tokens.AS(yypos,yypos+2));
+<INITIAL>"case" => (Tokens.CASE(yypos,yypos+4));
+<INITIAL>"datatype" => (Tokens.DATATYPE(yypos,yypos+8));
+<INITIAL>"." => (Tokens.DOT(yypos,yypos+1));
+<INITIAL>"..." => (Tokens.DOTDOTDOT(yypos,yypos+3));
+<INITIAL>"else" => (Tokens.ELSE(yypos,yypos+4));
+<INITIAL>"end" => (Tokens.END(yypos,yypos+3));
+<INITIAL>"eqtype" => (Tokens.EQTYPE(yypos,yypos+6));
+<INITIAL>"exception" => (Tokens.EXCEPTION(yypos,yypos+9));
+<INITIAL>"do" => (Tokens.DO(yypos,yypos+2));
+<INITIAL>"=>" => (Tokens.DARROW(yypos,yypos+2));
+<INITIAL>"fn" => (Tokens.FN(yypos,yypos+2));
+<INITIAL>"fun" => (Tokens.FUN(yypos,yypos+3));
+<INITIAL>"functor" => (Tokens.FUNCTOR(yypos,yypos+7));
+<INITIAL>"handle" => (Tokens.HANDLE(yypos,yypos+6));
+<INITIAL>"if" => (Tokens.IF(yypos,yypos+2));
+<INITIAL>"in" => (Tokens.IN(yypos,yypos+2));
+<INITIAL>"include" => (Tokens.INCLUDE(yypos,yypos+7));
<INITIAL>"infix" => (Tokens.INFIX(yypos,yypos+5));
-<INITIAL>"infixr" => (Tokens.INFIXR(yypos,yypos+6));
-<INITIAL>"let" => (Tokens.LET(yypos,yypos+3));
+<INITIAL>"infixr" => (Tokens.INFIXR(yypos,yypos+6));
+<INITIAL>"let" => (Tokens.LET(yypos,yypos+3));
<INITIAL>"local" => (Tokens.LOCAL(yypos,yypos+5));
-<INITIAL>"nonfix" => (Tokens.NONFIX(yypos,yypos+6));
-<INITIAL>"of" => (Tokens.OF(yypos,yypos+2));
-<INITIAL>"op" => (Tokens.OP(yypos,yypos+2));
-<INITIAL>"open" => (Tokens.OPEN(yypos,yypos+4));
-<INITIAL>"overload" => (Tokens.OVERLOAD(yypos,yypos+8));
+<INITIAL>"nonfix" => (Tokens.NONFIX(yypos,yypos+6));
+<INITIAL>"of" => (Tokens.OF(yypos,yypos+2));
+<INITIAL>"op" => (Tokens.OP(yypos,yypos+2));
+<INITIAL>"open" => (Tokens.OPEN(yypos,yypos+4));
+<INITIAL>"overload" => (Tokens.OVERLOAD(yypos,yypos+8));
<INITIAL>"raise" => (Tokens.RAISE(yypos,yypos+5));
-<INITIAL>"rec" => (Tokens.REC(yypos,yypos+3));
-<INITIAL>"sharing" => (Tokens.SHARING(yypos,yypos+7));
-<INITIAL>"sig" => (Tokens.SIG(yypos,yypos+3));
-<INITIAL>"signature" => (Tokens.SIGNATURE(yypos,yypos+9));
-<INITIAL>"struct" => (Tokens.STRUCT(yypos,yypos+6));
-<INITIAL>"structure" => (Tokens.STRUCTURE(yypos,yypos+9));
-<INITIAL>"then" => (Tokens.THEN(yypos,yypos+4));
-<INITIAL>"type" => (Tokens.TYPE(yypos,yypos+4));
-<INITIAL>"val" => (Tokens.VAL(yypos,yypos+3));
+<INITIAL>"rec" => (Tokens.REC(yypos,yypos+3));
+<INITIAL>"sharing" => (Tokens.SHARING(yypos,yypos+7));
+<INITIAL>"sig" => (Tokens.SIG(yypos,yypos+3));
+<INITIAL>"signature" => (Tokens.SIGNATURE(yypos,yypos+9));
+<INITIAL>"struct" => (Tokens.STRUCT(yypos,yypos+6));
+<INITIAL>"structure" => (Tokens.STRUCTURE(yypos,yypos+9));
+<INITIAL>"then" => (Tokens.THEN(yypos,yypos+4));
+<INITIAL>"type" => (Tokens.TYPE(yypos,yypos+4));
+<INITIAL>"val" => (Tokens.VAL(yypos,yypos+3));
<INITIAL>"while" => (Tokens.WHILE(yypos,yypos+5));
-<INITIAL>"with" => (Tokens.WITH(yypos,yypos+4));
-<INITIAL>"withtype" => (Tokens.WITHTYPE(yypos,yypos+8));
-<INITIAL>"orelse" => (Tokens.ORELSE(yypos,yypos+6));
-<INITIAL>"andalso" => (Tokens.ANDALSO(yypos,yypos+7));
-<INITIAL>"import" => (Tokens.IMPORT(yypos,yypos+6));
-<INITIAL>"'"{idchars}* => (Tokens.TYVAR(yytext, yypos, yypos+size yytext));
-<INITIAL>({sym}+|{id}) => (Tokens.ID(yytext, yypos, yypos+size yytext));
-<INITIAL>{real} => (Tokens.REAL(yytext,yypos,yypos+size yytext));
+<INITIAL>"with" => (Tokens.WITH(yypos,yypos+4));
+<INITIAL>"withtype" => (Tokens.WITHTYPE(yypos,yypos+8));
+<INITIAL>"orelse" => (Tokens.ORELSE(yypos,yypos+6));
+<INITIAL>"andalso" => (Tokens.ANDALSO(yypos,yypos+7));
+<INITIAL>"import" => (Tokens.IMPORT(yypos,yypos+6));
+<INITIAL>"'"{idchars}* => (Tokens.TYVAR(yytext, yypos, yypos+size yytext));
+<INITIAL>({sym}+|{id}) => (Tokens.ID(yytext, yypos, yypos+size yytext));
+<INITIAL>{real} => (Tokens.REAL(yytext,yypos,yypos+size yytext));
<INITIAL>[1-9][0-9]* => (Tokens.INT(makeInt (op +) yytext
handle Overflow => (err (yypos,yypos+size yytext)
COMPLAIN "integer too large"; 1),
yypos,yypos+size yytext));
-<INITIAL>{num} => (Tokens.INT0(makeInt (op +) yytext
+<INITIAL>{num} => (Tokens.INT0(makeInt (op +) yytext
handle Overflow => (err (yypos,yypos+size yytext)
COMPLAIN "integer too large"; 0),
yypos,yypos+size yytext));
-<INITIAL>~{num} => (Tokens.INT0(makeInt (op -)
+<INITIAL>~{num} => (Tokens.INT0(makeInt (op -)
(substring(yytext,1,size(yytext)-1))
handle Overflow => (err (yypos,yypos+size yytext)
COMPLAIN "integer too large"; 0),
@@ -131,35 +131,35 @@
handle Overflow => (err (yypos,yypos+size yytext)
COMPLAIN "integer too large"; 0),
yypos, yypos+size yytext));
-<INITIAL>\" => (charlist := [""]; stringstart := yypos;
+<INITIAL>\" => (charlist := [""]; stringstart := yypos;
YYBEGIN S; continue());
-<INITIAL>"(*" => (YYBEGIN A; stringstart := yypos; comLevel := 1; continue());
-<INITIAL>\h => (err (yypos,yypos) COMPLAIN "non-Ascii character"; continue());
-<INITIAL>. => (err (yypos,yypos) COMPLAIN "illegal token"; continue());
-<A>"(*" => (inc comLevel; continue());
-<A>\n => (inc lineNum; linePos := yypos :: !linePos; continue());
+<INITIAL>"(*" => (YYBEGIN A; stringstart := yypos; comLevel := 1; continue());
+<INITIAL>\h => (err (yypos,yypos) COMPLAIN "non-Ascii character"; continue());
+<INITIAL>. => (err (yypos,yypos) COMPLAIN "illegal token"; continue());
+<A>"(*" => (inc comLevel; continue());
+<A>\n => (inc lineNum; linePos := yypos :: !linePos; continue());
<A>"*)" => (dec comLevel; if !comLevel=0 then YYBEGIN INITIAL else (); continue());
-<A>. => (continue());
-<S>\" => (YYBEGIN INITIAL; Tokens.STRING(makeString charlist,
+<A>. => (continue());
+<S>\" => (YYBEGIN INITIAL; Tokens.STRING(makeString charlist,
!stringstart,yypos+1));
-<S>\n => (err (!stringstart,yypos) COMPLAIN "unclosed string";
+<S>\n => (err (!stringstart,yypos) COMPLAIN "unclosed string";
inc lineNum; linePos := yypos :: !linePos;
YYBEGIN INITIAL; Tokens.STRING(makeString charlist,!stringstart,yypos));
-<S>[^"\\\n]* => (addString(charlist,yytext); continue());
-<S>\\\n => (inc lineNum; linePos := yypos :: !linePos;
+<S>[^"\\\n]* => (addString(charlist,yytext); continue());
+<S>\\\n => (inc lineNum; linePos := yypos :: !linePos;
YYBEGIN F; continue());
-<S>\\[\ \t] => (YYBEGIN F; continue());
-<F>\n => (inc lineNum; linePos := yypos :: !linePos; continue());
-<F>{ws} => (continue());
-<F>\\ => (YYBEGIN S; stringstart := yypos; continue());
-<F>. => (err (!stringstart,yypos) COMPLAIN "unclosed string";
+<S>\\[\ \t] => (YYBEGIN F; continue());
+<F>\n => (inc lineNum; linePos := yypos :: !linePos; continue());
+<F>{ws} => (continue());
+<F>\\ => (YYBEGIN S; stringstart := yypos; continue());
+<F>. => (err (!stringstart,yypos) COMPLAIN "unclosed string";
YYBEGIN INITIAL; Tokens.STRING(makeString charlist,!stringstart,yypos+1));
-<S>\\t => (addString(charlist,"\t"); continue());
-<S>\\n => (addString(charlist,"\n"); continue());
-<S>\\\\ => (addString(charlist,"\\"); continue());
-<S>\\\" => (addString(charlist,chr(Ascii.dquote)); continue());
-<S>\\\^[@-_] => (addString(charlist,chr(ordof(yytext,2)-ord("@"))); continue());
-<S>\\[0-9]{3} =>
+<S>\\t => (addString(charlist,"\t"); continue());
+<S>\\n => (addString(charlist,"\n"); continue());
+<S>\\\\ => (addString(charlist,"\\"); continue());
+<S>\\\" => (addString(charlist,chr(Ascii.dquote)); continue());
+<S>\\\^[@-_] => (addString(charlist,chr(ordof(yytext,2)-ord("@"))); continue());
+<S>\\[0-9]{3} =>
(let val x = ordof(yytext,1)*100
+ordof(yytext,2)*10
+ordof(yytext,3)
@@ -169,5 +169,5 @@
else addString(charlist,chr x);
continue())
end);
-<S>\\ => (err (yypos,yypos+1) COMPLAIN "illegal string escape";
+<S>\\ => (err (yypos,yypos+1) COMPLAIN "illegal string escape";
continue());
Modified: mlton/trunk/benchmark/tests/DLXSimulator.sml
===================================================================
--- mlton/trunk/benchmark/tests/DLXSimulator.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/DLXSimulator.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -482,7 +482,7 @@
fun update (IA2 ia2, r, c, x)
= IA2 (ImmArray.update (ia2, r,
ImmArray.update (ImmArray.sub (ia2, r),
- c, x)));
+ c, x)));
(* val extract : 'a immarray2 * int * int *
* int option * int option -> 'a immarray2
@@ -821,7 +821,7 @@
(*
* This handle will handle all ALU errors, most
* notably overflow and division by zero, and will
- * print an error message and return 0.
+ * print an error message and return 0.
*)
handle _ =>
(print "Error : ALU returning 0\n";
@@ -950,7 +950,7 @@
end;
fun Store ((mem, (reads, writes)), address, data)
- = let
+ = let
val aligned_address = AlignWAddress address;
val use_address = Word32.>> (aligned_address, 0wx0002);
in
@@ -971,7 +971,7 @@
end;
fun StoreWord (mem, address, data)
- = let
+ = let
val aligned_address
= if address = AlignWAddress address
then address
@@ -1024,7 +1024,7 @@
end;
fun StoreHWord (mem, address, data)
- = let
+ = let
val aligned_address
= if address = AlignHWAddress address
then address
@@ -1108,7 +1108,7 @@
end;
fun StoreByte (mem, address, data)
- = let
+ = let
val aligned_address = address;
val (_, s_word) = Load(mem, aligned_address);
in
@@ -1374,7 +1374,7 @@
* stored at address in the cache.
*)
fun ReadCache_aux_entry ((valid, dirty, tag, block), address)
- = ImmArray.sub (block,
+ = ImmArray.sub (block,
Word32.toInt (Word32.>> (GetBlockOffset address,
0wx0002)));
@@ -1616,7 +1616,7 @@
end;
fun StoreWord (mem, address, data)
- = let
+ = let
val aligned_address
= if address = AlignWAddress address
then address
@@ -1669,7 +1669,7 @@
end;
fun StoreHWord (mem, address, data)
- = let
+ = let
val aligned_address
= if address = AlignHWAddress address
then address
@@ -1753,7 +1753,7 @@
end;
fun StoreByte (mem, address, data)
- = let
+ = let
val aligned_address = address;
val (_, s_word) = Load(mem, aligned_address);
in
@@ -2584,7 +2584,7 @@
fun LoadProgAux ([], mem, address)
= mem
| LoadProgAux (instrs::instr_list, mem, address)
- = let
+ = let
val instro = Word32.fromString instrs;
val instr = if isSome instro
then valOf instro
Modified: mlton/trunk/benchmark/tests/barnes-hut.sml
===================================================================
--- mlton/trunk/benchmark/tests/barnes-hut.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/barnes-hut.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -10,7 +10,7 @@
sig
type 'a vec
- val dim : int (* dimension of the vectors *)
+ val dim : int (* dimension of the vectors *)
val tabulate : (int -> 'a) -> 'a vec
@@ -77,7 +77,7 @@
root : node
}
- val nsub : int (* number of sub cells / cell (2 ^ V.dim) *)
+ val nsub : int (* number of sub cells / cell (2 ^ V.dim) *)
val putCell : (cell * int * node) -> unit
val getCell : (cell * int) -> node
@@ -616,12 +616,12 @@
(* compute set of dynamical diagnostics. *)
fun diagnostics bodies = let
fun loop ([], arg) = {
- mtot = #totM arg, (* total mass *)
- totKE = #totKE arg, (* total kinetic energy *)
- totPE = #totPE arg, (* total potential energy *)
- cOfMPos = #cOfMPos arg, (* center of mass: position *)
- cOfMVel = #cOfMVel arg, (* center of mass: velocity *)
- amVec = #amVec arg (* angular momentum vector *)
+ mtot = #totM arg, (* total mass *)
+ totKE = #totKE arg, (* total kinetic energy *)
+ totPE = #totPE arg, (* total potential energy *)
+ cOfMPos = #cOfMPos arg, (* center of mass: position *)
+ cOfMVel = #cOfMVel arg, (* center of mass: velocity *)
+ amVec = #amVec arg (* angular momentum vector *)
}
| loop (S.Body{
mass, pos=ref pos, vel=ref vel, acc=ref acc, phi=ref phi
@@ -930,24 +930,24 @@
(* default parameter values *)
val defaults = [
(* file names for input/output *)
- "in=", (* snapshot of initial conditions *)
- "out=", (* stream of output snapshots *)
+ "in=", (* snapshot of initial conditions *)
+ "out=", (* stream of output snapshots *)
(* params, used if no input specified, to make a Plummer Model*)
- "nbody=128", (* number of particles to generate *)
- "seed=123", (* random number generator seed *)
+ "nbody=128", (* number of particles to generate *)
+ "seed=123", (* random number generator seed *)
- (* params to control N-body integration *)
- "dtime=0.025", (* integration time-step *)
- "eps=0.05", (* usual potential softening *)
- "tol=1.0", (* cell subdivision tolerence *)
- "fcells=0.75", (* cell allocation parameter *)
+ (* params to control N-body integration *)
+ "dtime=0.025", (* integration time-step *)
+ "eps=0.05", (* usual potential softening *)
+ "tol=1.0", (* cell subdivision tolerence *)
+ "fcells=0.75", (* cell allocation parameter *)
- "tstop=2.0", (* time to stop integration *)
- "dtout=0.25", (* data-output interval *)
+ "tstop=2.0", (* time to stop integration *)
+ "dtout=0.25", (* data-output interval *)
- "debug=false", (* turn on debugging messages *)
- "VERSION=1.0" (* JEB 06 March 1988 *)
+ "debug=false", (* turn on debugging messages *)
+ "VERSION=1.0" (* JEB 06 March 1988 *)
]
(* pick a random point on a sphere of specified radius. *)
@@ -990,7 +990,7 @@
| mkBodies (i, cmr, cmv, l) = let
val r = 1.0 / Math.sqrt (pow(xrand(0.0, mfrac), ~2.0/3.0) - 1.0)
val pos = pickshell (rsc * r)
- fun vN () = let (* von Neumann technique *)
+ fun vN () = let (* von Neumann technique *)
val x = xrand(0.0,1.0)
val y = xrand(0.0,0.1)
in
Modified: mlton/trunk/benchmark/tests/count-graphs.sml
===================================================================
--- mlton/trunk/benchmark/tests/count-graphs.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/count-graphs.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -44,7 +44,7 @@
* Fold over all permutations.
* Universe is a list of all the items to be permuted.
* pFolder is used to build up the permutation. It is called via
- * pFolder (next, pState, state, accross)
+ * pFolder (next, pState, state, accross)
* where next is the next item in the permutation, pState is the
* partially constructed permutation and state is the current fold
* state over permutations that have already been considered.
@@ -55,7 +55,7 @@
* return (newPState, newState).
* When a permutation has been completely constructed, folder is called
* via
- * folder (pState, state)
+ * folder (pState, state)
* where pState is the final pState and state is the current state.
* It should return the new state.
*)
@@ -95,7 +95,7 @@
* Universe is a list of lists of items, with equivalent items in the
* same list.
* pFolder is used to build up the permutation. It is called via
- * pFolder (next, pState, state, accross)
+ * pFolder (next, pState, state, accross)
* where next is the next item in the permutation, pState is the
* partially constructed permutation and state is the current fold
* state over permutations that have already been considered.
@@ -106,7 +106,7 @@
* return (newPState, newState).
* When a permutation has been completely constructed, folder is called
* via
- * folder (pState, state)
+ * folder (pState, state)
* where pState is the final pState and state is the current state.
* It should return the new state.
*)
@@ -151,16 +151,16 @@
* is in the subset, etc.
* eFolder is called to build up the subset given a decision on wether
* or not a given element is in it or not. It is called via
- * eFolder (elem, isinc, eState, state, fini)
+ * eFolder (elem, isinc, eState, state, fini)
* If this determines the result of folding over all the subsets consistant
* with the choice so far, then eFolder should raise the exception
- * fini newState
+ * fini newState
* If we need to proceed deeper in the tree, then eFolder should return
* the tuple
- * (newEState, newState)
+ * (newEState, newState)
* folder is called to buld up the final state, folding over subsets
* (represented as the terminal eStates). It is called via
- * folder (eState, state)
+ * folder (eState, state)
* It returns the new state.
* Note, the order in which elements are folded (via eFolder) is the same
* as the order in universe.
@@ -205,7 +205,7 @@
* In the result, two equivalent vertices in [0, size) remain equivalent
* iff they are either both connected or neither is connected to size.
* The vertex size is equivalent to a vertex x in [0, size) iff
- * connected (size, y) = connected (x, if y = x then size else y)
+ * connected (size, y) = connected (x, if y = x then size else y)
* for all y in [0, size).
*)
fun refine (size: int,
@@ -252,16 +252,16 @@
* two distinct vertices, returns a bool indicating if there is an edge
* connecting them, check if the graph is minimal.
* If it is, return
- * SOME how-many-clones-we-walked-through
+ * SOME how-many-clones-we-walked-through
* If not, return NONE.
* A graph is minimal iff its connection matrix is (weakly) smaller
* then all its permuted friends, where true is less than false, and
* the entries are compared lexicographically in the following order:
- * -
- * 0 -
- * 1 2 -
- * 3 4 5 -
- * ...
+ * -
+ * 0 -
+ * 1 2 -
+ * 3 4 5 -
+ * ...
* Note, the vertices are the integers in [0, nverts).
*)
fun minimal (nverts: int,
@@ -300,7 +300,7 @@
* Fold over the tree of graphs.
*
* eFolder is used to fold over the choice of edges via
- * eFolder (from, to, isinc, eState, state, accross)
+ * eFolder (from, to, isinc, eState, state, accross)
* with from > to.
*
* If eFolder knows the result of folding over all graphs which agree
@@ -308,11 +308,11 @@
* exception carrying the resulting state as a value.
*
* To continue normally, it should return the tuple
- * (newEState, newState)
+ * (newEState, newState)
*
* When all decisions are made with regards to edges from `from', folder
* is called via
- * folder (size, eState, state, accross)
+ * folder (size, eState, state, accross)
* where size is the number of vertices in the graph (the last from+1) and
* eState is the final eState for edges from `from'.
*
@@ -365,7 +365,7 @@
(*
* Given the size of a graph, a list of the vertices (the integers in
* [0, size)), and the connected function, check if for all full subgraphs,
- * 3*V - 4 - 2*E >= 0 or V <= 1
+ * 3*V - 4 - 2*E >= 0 or V <= 1
* where V is the number of vertices and E is the number of edges.
*)
local fun short lst =
Modified: mlton/trunk/benchmark/tests/fxp.sml
===================================================================
--- mlton/trunk/benchmark/tests/fxp.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/fxp.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1538,7 +1538,7 @@
val encDict = makeDict("encoding",6,NOENC)
val encAliases =
- [(ASCII,["ANSI_X3.4-1968","ANSI_X3.4-1986","ASCII","US-ASCII","US",
+ [(ASCII,["ANSI_X3.4-1968","ANSI_X3.4-1986","ASCII","US-ASCII","US",
"ISO646-US","ISO-IR-6","ISO_646.IRV:1991","IBM367","CP367"]),
(EBCDIC,["EBCDIC"]),
(LATIN1,["ISO_8859-1:1987","ISO-8859-1","ISO_8859-1",
@@ -1764,7 +1764,7 @@
fun validCharLatin1 (c : Char) = c<0wx100
fun writeCharLatin1(c,f) =
if c<0wx100 then writeByte(f,Char2Byte c)
- else raise EncodeError(f,ERR_ILLEGAL_CHAR(c,"LATIN-1"))
+ else raise EncodeError(f,ERR_ILLEGAL_CHAR(c,"LATIN-1"))
(*---------------------------------------------------------------------*)
(* UCS-4 *)
@@ -2715,7 +2715,7 @@
] : CharClasses.CharRange
val encRange =
- [(0wx002D,0wx002E), (* -. *)
+ [(0wx002D,0wx002E), (* -. *)
(0wx0030,0wx0039), (* 0-9 *)
(0wx0041,0wx005A), (* A-Z *)
(0wx005F,0wx005F), (* _ *)
@@ -3571,7 +3571,7 @@
val dfaUsage =
[U_ITEM(["--dfa-initial-size=n"],"Initial size of DFA transition tables (16)"),
- U_ITEM(["--dfa-initial-width=n"],"Same as --dfa-initial-size=2^n (4)"),
+ U_ITEM(["--dfa-initial-width=n"],"Same as --dfa-initial-size=2^n (4)"),
U_ITEM(["--dfa-max-size=n"],"Maximal size of DFAs for ambiguous content models (256)"),
U_ITEM(["--dfa-warn-size[=(yes|no)]"],"Warn about too large DFAs (yes)")
]
@@ -3984,7 +3984,7 @@
val hashIntList = hashList hashInt
val IntList2String = List2String Int.toString
- end
+ end
(* stop of ../../Util/intLists.sml *)
(* start of ../../Unicode/Chars/dataDict.sml *)
@@ -5217,7 +5217,7 @@
| IT_DATA of UniChar.Data
| IT_DECL
| IT_DTD
- | IT_ELEM
+ | IT_ELEM
| IT_ENT_NAME
| IT_ETAG
| IT_GEN_ENT
@@ -5285,7 +5285,7 @@
| ERR_DECL_ENT_NESTING of Location
| ERR_EE_INT_SUBSET
| ERR_GROUP_ENT_NESTING of Location
- | ERR_NO_DTD
+ | ERR_NO_DTD
| ERR_STANDALONE_DEF of UniChar.Data
| ERR_STANDALONE_ELEM of UniChar.Data
| ERR_STANDALONE_ENT of EntityClass *UniChar.Data
@@ -5541,14 +5541,14 @@
of ERR_EMPTY loc => ["Empty",Location2String loc]
| ERR_ENDED_BY_EE loc => [toUpperFirst (Location2String loc),"ended by entity end"]
| ERR_EXPECTED (exp,found) =>
- ["Expected",Expected2String exp,"but found",Found2String found]
+ ["Expected",Expected2String exp,"but found",Found2String found]
| ERR_MISSING_WHITE => ["Missing white space"]
| ERR_NON_XML_CHAR c => ["Non-XML character",quoteChar0 c]
| ERR_NON_XML_CHARREF c => ["Reference to non-XML character",quoteChar0 c]
(* other well-formedness errors *)
| ERR_CANT_PARSE loc => ["Cannot parse",Location2String loc]
- | ERR_ELEM_ENT_NESTING elem =>
+ | ERR_ELEM_ENT_NESTING elem =>
["The first and last character of element",quoteData elem,
"are in different entities"]
| ERR_ELEM_TYPE_MATCH (elem,other) =>
@@ -5606,7 +5606,7 @@
"in the content of element",quoteData curr]
| ERR_ELEM_CONTENT what =>
[toUpperFirst (AnItem2String what),"is not allowed in element content"]
- | ERR_EMPTY_TAG elem =>
+ | ERR_EMPTY_TAG elem =>
["Empty-element tag for element type",quoteData elem,
"whose content model requires non-empty content"]
| ERR_ENDED_EARLY elem =>
@@ -5770,35 +5770,35 @@
fun isValidityError err =
case err
of ERR_AT_LEAST_ONE _ => true
- | ERR_AT_MOST_ONE _ => true
- | ERR_ATT_IS_NOT _ => true
+ | ERR_AT_MOST_ONE _ => true
+ | ERR_ATT_IS_NOT _ => true
| ERR_EXACTLY_ONE _ => true
| ERR_FIXED_VALUE _ => true
- | ERR_ID_DEFAULT => true
+ | ERR_ID_DEFAULT => true
| ERR_MISSING_ATT _ => true
| ERR_MULT_ID_ELEM _ => true
| ERR_MUST_BE_AMONG _ => true
| ERR_MUST_BE_UNPARSED _ => true
| ERR_REPEATED_ID _ => true
| ERR_UNDECL_ATT _ => true
- | ERR_UNDECL_ID _ => true
- | ERR_BAD_ELEM _ => true
+ | ERR_UNDECL_ID _ => true
+ | ERR_BAD_ELEM _ => true
| ERR_ELEM_CONTENT _ => true
- | ERR_EMPTY_TAG _ => true
- | ERR_ENDED_EARLY _ => true
- | ERR_MULT_MIXED _ => true
- | ERR_NONEMPTY _ => true
- | ERR_REDEC_ELEM _ => true
- | ERR_ROOT_ELEM _ => true
+ | ERR_EMPTY_TAG _ => true
+ | ERR_ENDED_EARLY _ => true
+ | ERR_MULT_MIXED _ => true
+ | ERR_NONEMPTY _ => true
+ | ERR_REDEC_ELEM _ => true
+ | ERR_ROOT_ELEM _ => true
| ERR_DECL_ENT_NESTING _ => true
| ERR_EE_INT_SUBSET => true
| ERR_GROUP_ENT_NESTING _ => true
- | ERR_NO_DTD => true
+ | ERR_NO_DTD => true
| ERR_STANDALONE_DEF _ => true
| ERR_STANDALONE_ELEM _ => true
| ERR_STANDALONE_ENT _ => true
| ERR_STANDALONE_NORM _ => true
- | ERR_UNDECLARED _ => true
+ | ERR_UNDECLARED _ => true
| _ => false
end
(* stop of ../../Parser/Error/errorUtil.sml *)
@@ -6261,31 +6261,31 @@
(* Element2Index : none *)
(* GenEnt2Index : none *)
(* Id2Index : none *)
-(* Index2AttNot : NoSuchIndex *)
-(* Index2Element : NoSuchIndex *)
+(* Index2AttNot : NoSuchIndex *)
+(* Index2Element : NoSuchIndex *)
(* Index2GenEnt : NoSuchIndex *)
-(* Index2Id : NoSuchIndex *)
+(* Index2Id : NoSuchIndex *)
(* Index2ParEnt : NoSuchIndex *)
(* ParEnt2Index : none *)
(* entitiesWellformed : none *)
-(* getElement : NoSuchIndex *)
+(* getElement : NoSuchIndex *)
(* getGenEnt : NoSuchIndex *)
-(* getId : NoSuchIndex *)
-(* getNotation : NoSuchIndex *)
+(* getId : NoSuchIndex *)
+(* getNotation : NoSuchIndex *)
(* getParEnt : NoSuchIndex *)
-(* hasNotation : NoSuchIndex *)
+(* hasNotation : NoSuchIndex *)
(* initDtdTables : none *)
(* maxUsedElem : none *)
(* maxUsedId : none *)
-(* printAttNotTable : none *)
-(* printIdTable : none *)
+(* printAttNotTable : none *)
+(* printIdTable : none *)
(* printParEntTable : none *)
-(* printxElementTable : none *)
+(* printxElementTable : none *)
(* printxGenEntTable : none *)
-(* setElement : NoSuchIndex *)
+(* setElement : NoSuchIndex *)
(* setGenEnt : NoSuchIndex *)
-(* setId : NoSuchIndex *)
-(* setNotation : NoSuchIndex *)
+(* setId : NoSuchIndex *)
+(* setNotation : NoSuchIndex *)
(* setParEnt : NoSuchIndex *)
(*--------------------------------------------------------------------------*)
signature Dtd =
@@ -6548,7 +6548,7 @@
val _ = initStandalone dtd
in dtd
end
-
+
local
val dtd = initDtdTables()
in
@@ -7005,7 +7005,7 @@
of 0 => 0w0
| 1 => Word.fromInt(W.toInt(W.>>(Vector.sub(vec,0),intShift)))
| l => Word.fromInt(W.toInt(W.>>(Vector.sub(vec,0)+Vector.sub(vec,l-1),intShift)))
- end
+ end
(* stop of ../../Util/intSets.sml *)
(* start of ../../Util/SymDict/intSetDict.sml *)
@@ -7312,24 +7312,24 @@
(* compute Follow and Fin foreach node, and generate the transition *)
(* row if node is a leaf. Follow and Fin are computed top-down: *)
(* *)
- (* (Top-Level): *)
+ (* (Top-Level): *)
(* Follow e = {}, Fin e = true *)
- (* *)
- (* (e=e1?): *)
- (* Follow e1 = Follow e, Fin e1 = Fin e *)
- (* *)
- (* (e=e1*, e=e1+) *)
- (* Follow e1 = Follow e1 ++ First e1, Fin e1 = Fin e *)
(* *)
- (* (e=e1|...|eN) = *)
- (* Follow eI = Follow e, Fin eI = Fin e for i=0...n *)
+ (* (e=e1?): *)
+ (* Follow e1 = Follow e, Fin e1 = Fin e *)
(* *)
- (* (e=e1,...,eN) = *)
- (* Follow eN = Follow e, Fin eN = Fin e *)
+ (* (e=e1*, e=e1+) *)
+ (* Follow e1 = Follow e1 ++ First e1, Fin e1 = Fin e *)
+ (* *)
+ (* (e=e1|...|eN) = *)
+ (* Follow eI = Follow e, Fin eI = Fin e for i=0...n *)
+ (* *)
+ (* (e=e1,...,eN) = *)
+ (* Follow eN = Follow e, Fin eN = Fin e *)
(* Follow eI = First eI+1, if Empty eI+1 = false, i<n *)
(* First eI+1 ++ Follow eI+1, if Empty eI+1 = true, i<n *)
- (* Fin eI = false, if Empty eI+1 = false, i<n *)
- (* Fin eI+1, if Empty eI+1 = true, i<n *)
+ (* Fin eI = false, if Empty eI+1 = false, i<n *)
+ (* Fin eI+1, if Empty eI+1 = true, i<n *)
(* *)
(* F1++F2 = F1 U F2, if a2<>a1 forall (q1,a1) in F1, (q1,a1) in F1} *)
(* error, if exist (q1,a) in F1, (q2,a) in F2 *)
@@ -7338,7 +7338,7 @@
fun passTwo nondet (cmi as (_,(n,mt,fst))) =
let
val table = Array.array(n+1,(nil,false))
-
+
val _ = Array.update(table,0,(fst,mt))
fun do_cm (ff as (flw,fin)) (cm,(q,mt,fst)) =
@@ -7413,7 +7413,7 @@
end
functor Dfa (structure DfaOptions : DfaOptions) : Dfa =
- struct
+ struct
structure DfaPassThree = DfaPassThree (structure DfaOptions = DfaOptions)
open
@@ -8920,14 +8920,14 @@
(* *)
(* Exceptions raised by functions in this structure: *)
(* initDtdTables : none *)
-(* AttIdx2String : NoSuchSymbol *)
+(* AttIdx2String : NoSuchSymbol *)
(* ElemIdx2String : NoSuchIndex *)
-(* GenEntIdx2String : NoSuchIndex *)
-(* IdIdx2String : NoSuchIndex *)
-(* NotIdx2String : NoSuchIndex *)
-(* GenEntity2String : NoSuchIndex *)
+(* GenEntIdx2String : NoSuchIndex *)
+(* IdIdx2String : NoSuchIndex *)
+(* NotIdx2String : NoSuchIndex *)
+(* GenEntity2String : NoSuchIndex *)
(* ElemInfo2String : NoSuchIndex NoSuchSymbol *)
-(* printGenEntTable : NoSuchIndex *)
+(* printGenEntTable : NoSuchIndex *)
(* printElementTable : NoSuchIndex NoSuchSymbol *)
(* printDtdTables : NoSuchIndex NoSuchSymbol *)
(*--------------------------------------------------------------------------*)
@@ -8973,7 +8973,7 @@
structure Entities = Entities (structure Hooks = Hooks)
structure DtdAttributes = DtdAttributes (structure Dtd = Dtd
structure Entities = Entities
- structure ParserOptions = ParserOptions)
+ structure ParserOptions = ParserOptions)
open
Dtd
DtdAttributes
@@ -9679,7 +9679,7 @@
of 0wx22 (* '""' *) => parseVersionNum c1 (a1,q1)
| 0wx27 (* "'" *) => parseVersionNum c1 (a1,q1)
| _ => let val a2 = hookError(a1,(getPos q1,ERR_EXPECTED(expLitQuote,[c1])))
- in raise SyntaxError(c1,a2,q1)
+ in raise SyntaxError(c1,a2,q1)
end
end
@@ -9758,7 +9758,7 @@
of 0wx22 (* '""' *) => parseEncName c1 (a1,q1)
| 0wx27 (* "'" *) => parseEncName c1 (a1,q1)
| _ => let val a2 = hookError(a1,(getPos q1,ERR_EXPECTED(expLitQuote,[c1])))
- in raise SyntaxError(c1,a2,q1)
+ in raise SyntaxError(c1,a2,q1)
end
end
@@ -9796,7 +9796,7 @@
of 0wx22 (* '""' *) => (getChar (a,q))
| 0wx27 (* "'" *) => (getChar (a,q))
| _ => let val a1 = hookError(a,(getPos q,ERR_EXPECTED(expLitQuote,[quote])))
- in raise SyntaxError(quote,a1,q)
+ in raise SyntaxError(quote,a1,q)
end
val (text,caq2) = doit nil caq1
in
@@ -10551,7 +10551,7 @@
end
else a1
- in ((idx,ent),(a2,q1))
+ in ((idx,ent),(a2,q1))
end
fun parseGenRefLit dtd cs (caq as (_,_,q)) =
let
@@ -10682,7 +10682,7 @@
in raise NoSuchEntity (a2,q1)
end
else ()
- in ((idx,ent),(a1,q1))
+ in ((idx,ent),(a1,q1))
end
fun parseParRefLit dtd cs (caq as (_,_,q)) =
let
@@ -10745,7 +10745,7 @@
end
handle NotFound (c,a,q) => let val err = ERR_EXPECTED(expAnEntName,[c])
val a1 = hookError(a,(getPos q,err))
- in (c,a1,q)
+ in (c,a1,q)
end
(*--------------------------------------------------------------------*)
@@ -11617,12 +11617,12 @@
val hscaq2 = parseSmay nil (c1,a1',q1)
- (*--------------------------------------------------------------*)
+ (*--------------------------------------------------------------*)
(* yet are the indices of attributes encountered yet, old are *)
(* the valid attributes specified yet, and todo are the defs of *)
(* attributes yet to be specified. hadS indicates whether white *)
(* space preceded. *)
- (*--------------------------------------------------------------*)
+ (*--------------------------------------------------------------*)
fun doit (yet,old,todo) (hadS,(sp,(c,a,q))) =
case c
of 0wx3E (* #">" *) => (old,todo,sp,false,q,getChar(a,q))
@@ -13794,7 +13794,7 @@
(*-------------------------------------------------------*)
handle SyntaxError caq => caq
| NoSuchEntity aq => getChar aq
-
+
(*--------------------------------------------------------------*)
(* handle an end-tag. finish the element in the user data and *)
(* return. *)
@@ -13914,7 +13914,7 @@
| 0wx26 (* #"&" *) => do_elem (p,do_ref (q,getChar(a,q)))
| 0wx3C (* #"<" *) => do_lt (p,q,getChar(a,q))
| _ => do_elem (p,do_char_elem (c,a,q))
-
+
(*--------------------------------------------------------------*)
(* do empty content. if the first thing to come is the current *)
(* element's end-tag, finish it. Otherwise print an error and *)
@@ -14139,7 +14139,7 @@
(*-------------------------------------------------------*)
handle SyntaxError caq => caq
| NoSuchEntity aq => getChar aq
-
+
(*--------------------------------------------------------------*)
(* handle an end-tag. finish the element in the user data and *)
(* return. *)
@@ -14545,7 +14545,7 @@
end
in
doit PROLOG caq
- end
+ end
(* to false. (cf. 2.9) *)
(* *)
@@ -15365,7 +15365,7 @@
fun parseCatalog uri =
let val suffix = uriSuffix uri
in if isSocatSuffix suffix then parseSoCat uri
- else (if isXmlSuffix suffix then parseXmlCat uri
+ else (if isXmlSuffix suffix then parseXmlCat uri
else (if !O_PREFER_SOCAT then parseSoCat uri
else parseXmlCat uri))
end
@@ -15653,7 +15653,7 @@
| _ => let val _ = doError (mustHave "-C")
in doit opts
end)
- | cs =>
+ | cs =>
let val cs1 = List.filter
(fn c => if #"C"<>c then true
else false before doError (mustHave "-C")) cs
Modified: mlton/trunk/benchmark/tests/hamlet.sml
===================================================================
--- mlton/trunk/benchmark/tests/hamlet.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/hamlet.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -269,8 +269,8 @@
* University of Southampton
* Address: Electronics & Computer Science
* University of Southampton
- * Southampton SO9 5NH
- * Great Britian
+ * Southampton SO9 5NH
+ * Great Britian
* E-mail: sra@ecs.soton.ac.uk
*
* Comments:
@@ -666,14 +666,14 @@
include ORD_MAP
- val fromList: (Key.ord_key * 'a) list -> 'a map
+ val fromList: (Key.ord_key * 'a) list -> 'a map
- val all: ('a -> bool) -> 'a map -> bool
- val exists: ('a -> bool) -> 'a map -> bool
- val alli: (Key.ord_key * 'a -> bool) -> 'a map -> bool
+ val all: ('a -> bool) -> 'a map -> bool
+ val exists: ('a -> bool) -> 'a map -> bool
+ val alli: (Key.ord_key * 'a -> bool) -> 'a map -> bool
val existsi: (Key.ord_key * 'a -> bool) -> 'a map -> bool
- val disjoint: 'a map * 'a map -> bool
+ val disjoint: 'a map * 'a map -> bool
end
(* stop of FIN_MAP.sml *)
@@ -696,14 +696,14 @@
open BinaryMap
- fun fromList kvs = List.foldl (fn((k, v),m) => insert(m, k, v)) empty kvs
+ fun fromList kvs = List.foldl (fn((k, v),m) => insert(m, k, v)) empty kvs
- fun all p = foldl (fn(v, b) => b andalso p v) true
+ fun all p = foldl (fn(v, b) => b andalso p v) true
fun exists p = foldl (fn(v, b) => b orelse p v) false
- fun alli p = foldli (fn(k, v, b) => b andalso p(k, v)) true
- fun existsi p = foldli (fn(k, v, b) => b orelse p(k, v)) false
+ fun alli p = foldli (fn(k, v, b) => b andalso p(k, v)) true
+ fun existsi p = foldli (fn(k, v, b) => b orelse p(k, v)) false
- fun disjoint(m1,m2) = isEmpty(intersectWith #2 (m1, m2))
+ fun disjoint(m1,m2) = isEmpty(intersectWith #2 (m1, m2))
end
(* stop of FinMapFn.sml *)
@@ -724,14 +724,14 @@
(* Type [Section 2.4] *)
- eqtype Id (* [id] *)
+ eqtype Id (* [id] *)
(* Operations *)
- val invent: unit -> Id
+ val invent: unit -> Id
- val fromString: string -> Id
- val toString: Id -> string
+ val fromString: string -> Id
+ val toString: Id -> string
val compare: Id * Id -> order
@@ -754,7 +754,7 @@
(* Type [Section 2.4] *)
- type Id = string (* [id] *)
+ type Id = string (* [id] *)
(* Creation *)
@@ -820,21 +820,21 @@
(* Type [Section 2.4] *)
- eqtype longId (* [longid] *)
+ eqtype longId (* [longid] *)
(* Operations *)
- val invent: unit -> longId
- val fromId: Id -> longId
- val toId: longId -> Id
- val toString: longId -> string
+ val invent: unit -> longId
+ val fromId: Id -> longId
+ val toId: longId -> Id
+ val toString: longId -> string
- val strengthen: StrId * longId -> longId
+ val strengthen: StrId * longId -> longId
val implode: StrId list * Id -> longId
val explode: longId -> StrId list * Id
- val isUnqualified: longId -> bool
+ val isUnqualified: longId -> bool
val compare: longId * longId -> order
@@ -870,7 +870,7 @@
(* Type [Section 2.4] *)
- type longId = StrId list * Id (* [longid] *)
+ type longId = StrId list * Id (* [longid] *)
(* Conversions *)
@@ -1486,16 +1486,16 @@
(* Operations *)
- val invent: bool -> TyVar
- val fromIndex: bool -> int -> TyVar
- val fromString: string -> TyVar
- val toString: TyVar -> string
+ val invent: bool -> TyVar
+ val fromIndex: bool -> int -> TyVar
+ val fromString: string -> TyVar
+ val toString: TyVar -> string
- val admitsEquality: TyVar -> bool
- val isExplicit: TyVar -> bool
+ val admitsEquality: TyVar -> bool
+ val isExplicit: TyVar -> bool
- val instance: TyVar -> TyVar
- val normalise: TyVar * int -> TyVar
+ val instance: TyVar -> TyVar
+ val normalise: TyVar * int -> TyVar
val compare: TyVar * TyVar -> order
@@ -1519,7 +1519,7 @@
(* Type [Sections 2.4 and 4.1]*)
- type TyVar = { name: string, equality: bool } (* [alpha] or [tyvar] *)
+ type TyVar = { name: string, equality: bool } (* [alpha] or [tyvar] *)
(* Creation *)
@@ -1540,8 +1540,8 @@
end
fun fromString s =
- { name = s,
- equality = String.size(s) > 1 andalso String.sub(s,1) = #"'" }
+ { name = s,
+ equality = String.size(s) > 1 andalso String.sub(s,1) = #"'" }
fun toString{name,equality} = name
@@ -1593,24 +1593,24 @@
(* Type [Section 4.1] *)
- eqtype TyName (* [t] *)
+ eqtype TyName (* [t] *)
datatype Equality = NOEQ | EQ | SPECIALEQ
(* Operations *)
- val tyname: TyCon * int * Equality * int -> TyName
- val invent: int * Equality -> TyName
- val rename: TyName -> TyName
- val removeEquality: TyName -> TyName
- val Abs: TyName -> TyName
+ val tyname: TyCon * int * Equality * int -> TyName
+ val invent: int * Equality -> TyName
+ val rename: TyName -> TyName
+ val removeEquality: TyName -> TyName
+ val Abs: TyName -> TyName
- val arity: TyName -> int
- val equality: TyName -> Equality
- val span: TyName -> int
- val tycon: TyName -> TyCon
- val toString: TyName -> string
+ val arity: TyName -> int
+ val equality: TyName -> Equality
+ val span: TyName -> int
+ val tycon: TyName -> TyCon
+ val toString: TyName -> string
val compare: TyName * TyName -> order
@@ -1644,12 +1644,12 @@
datatype Equality = NOEQ | EQ | SPECIALEQ
- type TyName = (* [t] *)
+ type TyName = (* [t] *)
{ tycon: TyCon
, stamp: stamp
, arity: int
, equality: Equality
- , span: int
+ , span: int
}
@@ -1707,7 +1707,7 @@
(* Type [Section 2.2] *)
- datatype SCon = (* [scon] *)
+ datatype SCon = (* [scon] *)
INT of int
| WORD of word
| STRING of string
@@ -1741,7 +1741,7 @@
(* Type [Section 2.2] *)
- datatype SCon = (* [scon] *)
+ datatype SCon = (* [scon] *)
INT of int
| WORD of word
| STRING of string
@@ -1788,14 +1788,14 @@
(* Type [Section 2.4] *)
- eqtype Lab (* [lab] *)
+ eqtype Lab (* [lab] *)
(* Operations *)
- val fromString: string -> Lab
+ val fromString: string -> Lab
val fromInt: int -> Lab
- val toString: Lab -> string
+ val toString: Lab -> string
val compare: Lab * Lab -> order
@@ -1814,7 +1814,7 @@
(* Type [Section 2.4] *)
- type Lab = string (* [lab] *)
+ type Lab = string (* [lab] *)
(* Conversions *)
@@ -1908,24 +1908,24 @@
(* Type *)
- type OverloadingClass (* [O] *)
+ type OverloadingClass (* [O] *)
(* Operations *)
- val make: TyNameSet * TyName -> OverloadingClass
+ val make: TyNameSet * TyName -> OverloadingClass
val isEmpty: OverloadingClass -> bool
- val isSingular: OverloadingClass -> bool
+ val isSingular: OverloadingClass -> bool
val default: OverloadingClass -> TyName
- val set: OverloadingClass -> TyNameSet
- val member: OverloadingClass * TyName -> bool
+ val set: OverloadingClass -> TyNameSet
+ val member: OverloadingClass * TyName -> bool
val getItem: OverloadingClass -> TyName
- val makeEquality: OverloadingClass -> OverloadingClass option
- val intersection: OverloadingClass * OverloadingClass ->
+ val makeEquality: OverloadingClass -> OverloadingClass option
+ val intersection: OverloadingClass * OverloadingClass ->
OverloadingClass option
- val union: OverloadingClass * OverloadingClass ->
+ val union: OverloadingClass * OverloadingClass ->
OverloadingClass
end
@@ -1964,7 +1964,7 @@
(* Type *)
- type OverloadingClass = TyNameSet * TyName (* [O] *)
+ type OverloadingClass = TyNameSet * TyName (* [O] *)
(* Simple operations *)
@@ -2053,9 +2053,9 @@
(* Types [Section 4.2] *)
- datatype RowVar = CLOSEDRow | FLEXRow of bool (* [r] *)
+ datatype RowVar = CLOSEDRow | FLEXRow of bool (* [r] *)
- datatype Type' = (* [tau] *)
+ datatype Type' = (* [tau] *)
TyVar of TyVar
| RowType of (*RowType*) (Type' ref LabMap * RowVar)
| FunType of (*FunType*) (Type' ref * Type' ref)
@@ -2065,51 +2065,51 @@
type Type = Type' ref
- type RowType = Type LabMap * RowVar (* [rho] *)
+ type RowType = Type LabMap * RowVar (* [rho] *)
type FunType = Type * Type
type ConsType = Type list * TyName
- type TypeFcn = TyVar list * Type (* [theta] *)
+ type TypeFcn = TyVar list * Type (* [theta] *)
- type Substitution = Type TyVarMap (* [mu] *)
- type Realisation = TypeFcn TyNameMap (* [phi] *)
+ type Substitution = Type TyVarMap (* [mu] *)
+ type Realisation = TypeFcn TyNameMap (* [phi] *)
(* Operations *)
- val invent: unit -> Type
- val fromTyVar: TyVar -> Type
- val fromRowType: RowType -> Type
- val fromFunType: FunType -> Type
- val fromConsType: ConsType -> Type
- val fromOverloadingClass: OverloadingClass -> Type
+ val invent: unit -> Type
+ val fromTyVar: TyVar -> Type
+ val fromRowType: RowType -> Type
+ val fromFunType: FunType -> Type
+ val fromConsType: ConsType -> Type
+ val fromOverloadingClass: OverloadingClass -> Type
- val range: Type -> Type
- val tyname: Type -> TyName
+ val range: Type -> Type
+ val tyname: Type -> TyName
- val normalise: Type -> Type
- val substitute: Substitution -> Type -> Type
+ val normalise: Type -> Type
+ val substitute: Substitution -> Type -> Type
val realise: Realisation -> Type -> Type
- val tyvars: Type -> TyVarSet
+ val tyvars: Type -> TyVarSet
val tynames: Type -> TyNameSet
- val admitsEquality: Type -> bool
- val isFlexible: Type -> bool
+ val admitsEquality: Type -> bool
+ val isFlexible: Type -> bool
exception Unify
- val unify: Type * Type -> unit (* Unify *)
+ val unify: Type * Type -> unit (* Unify *)
val unifyRestricted: TyVarSet -> Type * Type -> unit (* Unify *)
- val makeEquality: Type -> unit (* Unify *)
+ val makeEquality: Type -> unit (* Unify *)
- val defaultOverloaded: Type -> unit
+ val defaultOverloaded: Type -> unit
(* Operations on rows *)
- val emptyRho: RowType
- val singletonRho: Lab * Type -> RowType
- val insertRho: RowType * Lab * Type -> RowType
- val inventRho: unit -> RowType
+ val emptyRho: RowType
+ val singletonRho: Lab * Type -> RowType
+ val insertRho: RowType * Lab * Type -> RowType
+ val inventRho: unit -> RowType
val findLab: RowType * Lab -> Type option
end
@@ -2152,9 +2152,9 @@
(* Types [Section 4.2] *)
- datatype RowVar = CLOSEDRow | FLEXRow of bool (* [r] *)
+ datatype RowVar = CLOSEDRow | FLEXRow of bool (* [r] *)
- datatype Type' = (* [tau] *)
+ datatype Type' = (* [tau] *)
TyVar of TyVar
| RowType of RowType
| FunType of FunType
@@ -2164,14 +2164,14 @@
withtype Type = Type' ref
- and RowType = Type' ref LabMap * RowVar (* [rho] *)
+ and RowType = Type' ref LabMap * RowVar (* [rho] *)
and FunType = Type' ref * Type' ref
and ConsType = Type' ref list * TyName
- type TypeFcn = TyVar list * Type (* [theta] *)
+ type TypeFcn = TyVar list * Type (* [theta] *)
- type Substitution = Type TyVarMap (* [mu] *)
- type Realisation = TypeFcn TyNameMap (* [phi] *)
+ type Substitution = Type TyVarMap (* [mu] *)
+ type Realisation = TypeFcn TyNameMap (* [phi] *)
(* Creation *)
@@ -2651,25 +2651,25 @@
(* Type [Section 4.2] *)
- type TypeScheme = TyVar list * Type (* [sigma] *)
+ type TypeScheme = TyVar list * Type (* [sigma] *)
(* Operations *)
- val instance: TypeScheme -> Type
- val instance': TypeScheme -> TyVar list * Type
- val Clos: Type -> TypeScheme
- val ClosRestricted: TyVarSet -> Type -> TypeScheme
- val isClosed: TypeScheme -> bool
+ val instance: TypeScheme -> Type
+ val instance': TypeScheme -> TyVar list * Type
+ val Clos: Type -> TypeScheme
+ val ClosRestricted: TyVarSet -> Type -> TypeScheme
+ val isClosed: TypeScheme -> bool
- val tyvars: TypeScheme -> TyVarSet
+ val tyvars: TypeScheme -> TyVarSet
val tynames: TypeScheme -> TyNameSet
- val normalise: TypeScheme -> TypeScheme
+ val normalise: TypeScheme -> TypeScheme
- val generalises: TypeScheme * TypeScheme -> bool
- val equals: TypeScheme * TypeScheme -> bool
+ val generalises: TypeScheme * TypeScheme -> bool
+ val equals: TypeScheme * TypeScheme -> bool
- val substitute: Substitution -> TypeScheme -> TypeScheme
+ val substitute: Substitution -> TypeScheme -> TypeScheme
val realise: Realisation -> TypeScheme -> TypeScheme
end
@@ -2702,7 +2702,7 @@
(* Type [Section 4.2] *)
- type TypeScheme = TyVar list * Type (* [sigma] *)
+ type TypeScheme = TyVar list * Type (* [sigma] *)
(* Some helper (this should be in the library...) *)
@@ -2857,31 +2857,31 @@
(* Type [Section 4.2] *)
- type TypeFcn = Type.TypeFcn (* [theta] *)
+ type TypeFcn = Type.TypeFcn (* [theta] *)
(* Operations *)
- val fromTyName: TyName -> TypeFcn
- val toTyName: TypeFcn -> TyName option
- val isClosed: TypeFcn -> bool
+ val fromTyName: TyName -> TypeFcn
+ val toTyName: TypeFcn -> TyName option
+ val isClosed: TypeFcn -> bool
- val arity: TypeFcn -> int
- val admitsEquality: TypeFcn -> bool
+ val arity: TypeFcn -> int
+ val admitsEquality: TypeFcn -> bool
- val tyvars: TypeFcn -> TyVarSet
+ val tyvars: TypeFcn -> TyVarSet
val tynames: TypeFcn -> TyNameSet
- val normalise: TypeFcn -> TypeFcn
- val rename: TypeFcn -> TypeFcn
+ val normalise: TypeFcn -> TypeFcn
+ val rename: TypeFcn -> TypeFcn
- val equals: TypeFcn * TypeFcn -> bool
+ val equals: TypeFcn * TypeFcn -> bool
exception Apply
- val apply: Type list * TypeFcn -> Type (* may raise Apply *)
+ val apply: Type list * TypeFcn -> Type (* may raise Apply *)
val realise: Realisation -> TypeFcn -> TypeFcn
- val makeEquality: TypeFcn -> unit
+ val makeEquality: TypeFcn -> unit
end
(* stop of TYPEFCN.sml *)
@@ -2910,12 +2910,12 @@
(* Type [Section 4.2] *)
- type TypeFcn = Type.TypeFcn (* [theta] *)
+ type TypeFcn = Type.TypeFcn (* [theta] *)
(* Operations *)
- val tyvars = TypeScheme.tyvars (* same type ;-) *)
+ val tyvars = TypeScheme.tyvars (* same type ;-) *)
val tynames = TypeScheme.tynames
val equals = TypeScheme.equals
val isClosed = TypeScheme.isClosed
@@ -3002,7 +3002,7 @@
(* Type [Section 4.1] *)
- datatype IdStatus = c | e | v (* [is] *)
+ datatype IdStatus = c | e | v (* [is] *)
(* Operations *)
@@ -3024,7 +3024,7 @@
(* Type [Section 4.1] *)
- datatype IdStatus = c | e | v (* [is] *)
+ datatype IdStatus = c | e | v (* [is] *)
(* Generalisation [Section 5.5] *)
@@ -3080,27 +3080,27 @@
(* Operations *)
- val empty: ('a,'b) Env'
+ val empty: ('a,'b) Env'
- val fromSE: ('a,'b) StrEnv' -> ('a,'b) Env'
- val fromTE: 'b TyEnv' -> ('a,'b) Env'
- val fromVE: 'a ValEnv' -> ('a,'b) Env'
- val fromVEandTE: 'a ValEnv' * 'b TyEnv' -> ('a,'b) Env'
+ val fromSE: ('a,'b) StrEnv' -> ('a,'b) Env'
+ val fromTE: 'b TyEnv' -> ('a,'b) Env'
+ val fromVE: 'a ValEnv' -> ('a,'b) Env'
+ val fromVEandTE: 'a ValEnv' * 'b TyEnv' -> ('a,'b) Env'
- val plus: ('a,'b) Env' * ('a,'b) Env' -> ('a,'b) Env'
- val plusVE: ('a,'b) Env' * 'a ValEnv' -> ('a,'b) Env'
- val plusTE: ('a,'b) Env' * 'b TyEnv' -> ('a,'b) Env'
- val plusSE: ('a,'b) Env' * ('a,'b) StrEnv' -> ('a,'b) Env'
- val plusVEandTE: ('a,'b) Env' * ('a ValEnv' * 'b TyEnv') -> ('a,'b) Env'
+ val plus: ('a,'b) Env' * ('a,'b) Env' -> ('a,'b) Env'
+ val plusVE: ('a,'b) Env' * 'a ValEnv' -> ('a,'b) Env'
+ val plusTE: ('a,'b) Env' * 'b TyEnv' -> ('a,'b) Env'
+ val plusSE: ('a,'b) Env' * ('a,'b) StrEnv' -> ('a,'b) Env'
+ val plusVEandTE: ('a,'b) Env' * ('a ValEnv' * 'b TyEnv') -> ('a,'b) Env'
val findVId: ('a,'b) Env' * VId -> 'a option
- val findTyCon: ('a,'b) Env' * TyCon -> 'b option
- val findStrId: ('a,'b) Env' * StrId -> ('a,'b) Str' option
- val findLongVId: ('a,'b) Env' * longVId -> 'a option
- val findLongTyCon: ('a,'b) Env' * longTyCon -> 'b option
- val findLongStrId: ('a,'b) Env' * longStrId -> ('a,'b) Str' option
+ val findTyCon: ('a,'b) Env' * TyCon -> 'b option
+ val findStrId: ('a,'b) Env' * StrId -> ('a,'b) Str' option
+ val findLongVId: ('a,'b) Env' * longVId -> 'a option
+ val findLongTyCon: ('a,'b) Env' * longTyCon -> 'b option
+ val findLongStrId: ('a,'b) Env' * longStrId -> ('a,'b) Str' option
- val disjoint: ('a,'b) Env' * ('a,'b) Env' -> bool
+ val disjoint: ('a,'b) Env' * ('a,'b) Env' -> bool
end
(* stop of GENERIC_ENV.sml *)
@@ -3142,9 +3142,9 @@
datatype ('a,'b) Str' = Str of (*Env*)
('a,'b) Str' StrIdMap * 'b TyConMap * 'a VIdMap
- type 'a ValEnv' = 'a VIdMap (* [VE] *)
- type 'b TyEnv' = 'b TyConMap (* [TE] *)
- type ('a,'b) StrEnv' = ('a,'b) Str' StrIdMap (* [SE] *)
+ type 'a ValEnv' = 'a VIdMap (* [VE] *)
+ type 'b TyEnv' = 'b TyConMap (* [TE] *)
+ type ('a,'b) StrEnv' = ('a,'b) Str' StrIdMap (* [SE] *)
type ('a,'b) Env' = ('a,'b) StrEnv' * 'b TyEnv' * 'a ValEnv' (* [E] *)
@@ -3243,36 +3243,36 @@
(* Export types [Section 4.2] *)
type ValStr = TypeScheme * IdStatus
- type ValEnv = ValStr VIdMap (* [VE] *)
+ type ValEnv = ValStr VIdMap (* [VE] *)
type TyStr = TypeFcn * ValEnv
type TyEnv = TyStr TyConMap (* [TE] *)
type Str = (ValStr, TyStr) Str'
- type StrEnv = Str StrIdMap (* [SE] *)
+ type StrEnv = Str StrIdMap (* [SE] *)
- type Env = StrEnv * TyEnv * ValEnv (* [E] *)
+ type Env = StrEnv * TyEnv * ValEnv (* [E] *)
(* Operations *)
- val tyvarsVE: ValEnv -> TyVarSet
- val tyvars: Env -> TyVarSet
- val tynamesTE: TyEnv -> TyNameSet
- val tynamesSE: StrEnv -> TyNameSet
+ val tyvarsVE: ValEnv -> TyVarSet
+ val tyvars: Env -> TyVarSet
+ val tynamesTE: TyEnv -> TyNameSet
+ val tynamesSE: StrEnv -> TyNameSet
val tynames: Env -> TyNameSet
- val isWellFormed: Env -> bool
+ val isWellFormed: Env -> bool
- val Clos: ValEnv -> ValEnv
- val containsFlexibleType: ValEnv -> bool
- val defaultOverloaded: ValEnv -> unit
- val makeEquality: TyEnv -> unit
- val maximiseEquality: TyEnv * ValEnv -> TyEnv * ValEnv
- val Abs: TyEnv * Env -> Env
+ val Clos: ValEnv -> ValEnv
+ val containsFlexibleType: ValEnv -> bool
+ val defaultOverloaded: ValEnv -> unit
+ val makeEquality: TyEnv -> unit
+ val maximiseEquality: TyEnv * ValEnv -> TyEnv * ValEnv
+ val Abs: TyEnv * Env -> Env
val realise: Realisation -> Env -> Env
- val enriches: Env * Env -> bool
+ val enriches: Env * Env -> bool
end
(* stop of STATIC_ENV.sml *)
@@ -3310,15 +3310,15 @@
(* Export types [Section 4.2] *)
type ValStr = TypeScheme * IdStatus
- type ValEnv = ValStr VIdMap (* [VE] *)
+ type ValEnv = ValStr VIdMap (* [VE] *)
type TyStr = TypeFcn * ValEnv
type TyEnv = TyStr TyConMap (* [TE] *)
type Str = (ValStr, TyStr) Str'
- type StrEnv = Str StrIdMap (* [SE] *)
+ type StrEnv = Str StrIdMap (* [SE] *)
- type Env = StrEnv * TyEnv * ValEnv (* [E] *)
+ type Env = StrEnv * TyEnv * ValEnv (* [E] *)
(* Further modifications [Section 4.3] *)
@@ -3575,18 +3575,18 @@
(* Type [Section 5.1] *)
- type Sig = TyNameSet * Env (* [Sigma] *)
+ type Sig = TyNameSet * Env (* [Sigma] *)
(* Operations *)
- val tyvars: Sig -> TyVarSet
+ val tyvars: Sig -> TyVarSet
val tynames: Sig -> TyNameSet
- val rename: Sig -> Sig
+ val rename: Sig -> Sig
exception Match
- val match: Env * Sig -> Env * Realisation (* Matching *)
+ val match: Env * Sig -> Env * Realisation (* Matching *)
end
(* stop of SIG.sml *)
@@ -3611,7 +3611,7 @@
(* Type [Section 5.1] *)
- type Sig = TyNameSet * Env (* [Sigma] *)
+ type Sig = TyNameSet * Env (* [Sigma] *)
(* Type variable and type name extraction [Section 4.2] *)
@@ -3718,12 +3718,12 @@
(* Type [Section 5.1] *)
- type FunSig = TyNameSet * (Env * Sig) (* [Phi] *)
+ type FunSig = TyNameSet * (Env * Sig) (* [Phi] *)
(* Operations *)
- val tyvars: FunSig -> TyVarSet
+ val tyvars: FunSig -> TyVarSet
val tynames: FunSig -> TyNameSet
end
@@ -3749,7 +3749,7 @@
(* Type [Section 5.1] *)
- type FunSig = TyNameSet * (Env * Sig) (* [Phi] *)
+ type FunSig = TyNameSet * (Env * Sig) (* [Phi] *)
(* Type variable and type name extraction [Section 4.2] *)
@@ -3798,29 +3798,29 @@
(* Type [Section 4.2] *)
- type Context = TyNameSet * TyVarSet * Env (* [C] *)
+ type Context = TyNameSet * TyVarSet * Env (* [C] *)
(* Operations *)
- val Tof: Context -> TyNameSet
- val Uof: Context -> TyVarSet
- val Eof: Context -> Env
+ val Tof: Context -> TyNameSet
+ val Uof: Context -> TyVarSet
+ val Eof: Context -> Env
- val plusVE: Context * ValEnv -> Context
- val plusU: Context * TyVarSet -> Context
- val oplusE: Context * Env -> Context
+ val plusVE: Context * ValEnv -> Context
+ val plusU: Context * TyVarSet -> Context
+ val oplusE: Context * Env -> Context
val oplusTE: Context * TyEnv -> Context
- val oplusVEandTE: Context * (ValEnv * TyEnv) -> Context
+ val oplusVEandTE: Context * (ValEnv * TyEnv) -> Context
val findVId: Context * VId -> ValStr option
- val findTyCon: Context * TyCon -> TyStr option
- val findStrId: Context * StrId -> Str option
- val findLongVId: Context * longVId -> ValStr option
- val findLongTyCon: Context * longTyCon -> TyStr option
- val findLongStrId: Context * longStrId -> Str option
+ val findTyCon: Context * TyCon -> TyStr option
+ val findStrId: Context * StrId -> Str option
+ val findLongVId: Context * longVId -> ValStr option
+ val findLongTyCon: Context * longTyCon -> TyStr option
+ val findLongStrId: Context * longStrId -> Str option
- val tyvars: Context -> TyVarSet
+ val tyvars: Context -> TyVarSet
end
(* stop of CONTEXT.sml *)
@@ -3859,7 +3859,7 @@
(* Type [Section 4.2] *)
- type Context = TyNameSet * TyVarSet * Env (* [C] *)
+ type Context = TyNameSet * TyVarSet * Env (* [C] *)
(* Projections [Section 4.3] *)
@@ -3944,38 +3944,38 @@
(* Types [Section 5.1] *)
- type SigEnv = Sig SigIdMap (* [G] *)
- type FunEnv = FunSig FunIdMap (* [F] *)
+ type SigEnv = Sig SigIdMap (* [G] *)
+ type FunEnv = FunSig FunIdMap (* [F] *)
- type Basis = TyNameSet * FunEnv * SigEnv * Env (* [B] *)
+ type Basis = TyNameSet * FunEnv * SigEnv * Env (* [B] *)
(* Operations *)
- val empty: Basis
- val fromTandE: TyNameSet * Env -> Basis
- val fromTandF: TyNameSet * FunEnv -> Basis
- val fromTandG: TyNameSet * SigEnv -> Basis
+ val empty: Basis
+ val fromTandE: TyNameSet * Env -> Basis
+ val fromTandF: TyNameSet * FunEnv -> Basis
+ val fromTandG: TyNameSet * SigEnv -> Basis
- val Tof: Basis -> TyNameSet
- val Cof: Basis -> Context
+ val Tof: Basis -> TyNameSet
+ val Cof: Basis -> Context
- val plus: Basis * Basis -> Basis
- val plusT: Basis * TyNameSet -> Basis
+ val plus: Basis * Basis -> Basis
+ val plusT: Basis * TyNameSet -> Basis
val oplusSE: Basis * StrEnv -> Basis
- val oplusG: Basis * SigEnv -> Basis
- val oplusF: Basis * FunEnv -> Basis
- val oplusE: Basis * Env -> Basis
+ val oplusG: Basis * SigEnv -> Basis
+ val oplusF: Basis * FunEnv -> Basis
+ val oplusE: Basis * Env -> Basis
- val findStrId: Basis * StrId -> Str option
- val findSigId: Basis * SigId -> Sig option
- val findFunId: Basis * FunId -> FunSig option
- val findLongStrId: Basis * longStrId -> Str option
- val findLongTyCon: Basis * longTyCon -> TyStr option
+ val findStrId: Basis * StrId -> Str option
+ val findSigId: Basis * SigId -> Sig option
+ val findFunId: Basis * FunId -> FunSig option
+ val findLongStrId: Basis * longStrId -> Str option
+ val findLongTyCon: Basis * longTyCon -> TyStr option
val tyvars: Basis -> TyVarSet
- val tynamesF: FunEnv -> TyNameSet
- val tynamesG: SigEnv -> TyNameSet
+ val tynamesF: FunEnv -> TyNameSet
+ val tynamesG: SigEnv -> TyNameSet
end
(* stop of STATIC_BASIS.sml *)
@@ -4011,10 +4011,10 @@
(* Types [Section 5.1] *)
- type SigEnv = Sig SigIdMap (* [G] *)
- type FunEnv = FunSig FunIdMap (* [F] *)
+ type SigEnv = Sig SigIdMap (* [G] *)
+ type FunEnv = FunSig FunIdMap (* [F] *)
- type Basis = TyNameSet * FunEnv * SigEnv * Env (* [B] *)
+ type Basis = TyNameSet * FunEnv * SigEnv * Env (* [B] *)
@@ -4137,29 +4137,29 @@
(* Predefined monomorphic types [Figure 24] *)
val tauBool: Type
- val tauInt: Type
+ val tauInt: Type
val tauWord: Type
val tauReal: Type
- val tauString: Type
+ val tauString: Type
val tauChar: Type
- val tauExn: Type
+ val tauExn: Type
(* Overloading classes [Appendix E.1] *)
- val Int: OverloadingClass
- val Real: OverloadingClass
- val Word: OverloadingClass
- val String: OverloadingClass
- val Char: OverloadingClass
+ val Int: OverloadingClass
+ val Real: OverloadingClass
+ val Word: OverloadingClass
+ val String: OverloadingClass
+ val Char: OverloadingClass
val WordInt: OverloadingClass
val RealInt: OverloadingClass
- val Num: OverloadingClass
- val NumTxt: OverloadingClass
+ val Num: OverloadingClass
+ val NumTxt: OverloadingClass
(* Initial environment [Appendix C] *)
- val T0: TyNameSet
- val E0: Env
+ val T0: TyNameSet
+ val E0: Env
end
(* stop of INITIAL_STATIC_ENV.sml *)
@@ -4335,15 +4335,15 @@
val SE0 = StrIdMap.empty
val TE0 = TyConMap.fromList[(tyconUnit, tystrUnit),
- (tyconBool, tystrBool),
- (tyconInt, tystrInt),
- (tyconWord, tystrWord),
- (tyconReal, tystrReal),
- (tyconString, tystrString),
- (tyconChar, tystrChar),
- (tyconList, tystrList),
- (tyconRef, tystrRef),
- (tyconExn, tystrExn)]
+ (tyconBool, tystrBool),
+ (tyconInt, tystrInt),
+ (tyconWord, tystrWord),
+ (tyconReal, tystrReal),
+ (tyconString, tystrString),
+ (tyconChar, tystrChar),
+ (tyconList, tystrList),
+ (tyconRef, tystrRef),
+ (tyconExn, tystrExn)]
val VE0 = VIdMap.fromList [(vidEq, valstrEq),
(vidAssign, valstrAssign),
@@ -4360,16 +4360,16 @@
(* Overloading classes [Section E.1] *)
- val Int = OverloadingClass.make(TyNameSet.singleton tInt, tInt)
- val Real = OverloadingClass.make(TyNameSet.singleton tReal, tReal)
- val Word = OverloadingClass.make(TyNameSet.singleton tWord, tWord)
- val String = OverloadingClass.make(TyNameSet.singleton tString, tString)
- val Char = OverloadingClass.make(TyNameSet.singleton tChar, tChar)
- val WordInt = OverloadingClass.union(Word, Int) (* default is 2nd *)
- val RealInt = OverloadingClass.union(Real, Int)
- val Num = OverloadingClass.union(Word, RealInt)
- val Txt = OverloadingClass.union(String, Char)
- val NumTxt = OverloadingClass.union(Txt, Num)
+ val Int = OverloadingClass.make(TyNameSet.singleton tInt, tInt)
+ val Real = OverloadingClass.make(TyNameSet.singleton tReal, tReal)
+ val Word = OverloadingClass.make(TyNameSet.singleton tWord, tWord)
+ val String = OverloadingClass.make(TyNameSet.singleton tString, tString)
+ val Char = OverloadingClass.make(TyNameSet.singleton tChar, tChar)
+ val WordInt = OverloadingClass.union(Word, Int) (* default is 2nd *)
+ val RealInt = OverloadingClass.union(Real, Int)
+ val Num = OverloadingClass.union(Word, RealInt)
+ val Txt = OverloadingClass.union(String, Char)
+ val NumTxt = OverloadingClass.union(Txt, Num)
end
(* stop of InitialStaticEnv.sml *)
@@ -4437,7 +4437,7 @@
(* Type [Section 6.2] *)
- eqtype ExName (* [en] *)
+ eqtype ExName (* [en] *)
(* Operations *)
@@ -4468,7 +4468,7 @@
(* Type [Section 6.2] *)
- type ExName = (* [en] *)
+ type ExName = (* [en] *)
{ vid: VId
, stamp: stamp
}
@@ -4503,7 +4503,7 @@
(* Type [Section 6.2] *)
- eqtype Addr (* [a] *)
+ eqtype Addr (* [a] *)
(* Operations *)
@@ -4526,7 +4526,7 @@
(* Type [Section 6.2] *)
- type Addr = Stamp.stamp (* [a] *)
+ type Addr = Stamp.stamp (* [a] *)
(* Operations *)
@@ -4562,7 +4562,7 @@
(* Type [Section 6.2] *)
- datatype SVal = (* [sv] *)
+ datatype SVal = (* [sv] *)
INT of int
| WORD of word
| STRING of string
@@ -4589,7 +4589,7 @@
(* Type [Section 6.2] *)
- datatype SVal = (* [sv] *)
+ datatype SVal = (* [sv] *)
INT of int
| WORD of word
| STRING of string
@@ -4644,7 +4644,7 @@
type BasVal = string (* [b] *)
- datatype 'a Val = (* [v] *)
+ datatype 'a Val = (* [v] *)
:=
| SVal of SVal
| BasVal of BasVal
@@ -4655,11 +4655,11 @@
| Addr of Addr
| FcnClosure of 'a
- and 'a ExVal = (* [e] *)
+ and 'a ExVal = (* [e] *)
ExName of ExName
| ExNameVal of ExName * 'a Val
- type 'a Record = 'a Val LabMap (* [r] *)
+ type 'a Record = 'a Val LabMap (* [r] *)
(* Operations *)
@@ -4701,7 +4701,7 @@
type BasVal = string (* [b] *)
- datatype 'a Val = (* [v] *)
+ datatype 'a Val = (* [v] *)
op:=
| SVal of SVal
| BasVal of BasVal
@@ -4712,11 +4712,11 @@
| Addr of Addr
| FcnClosure of 'a
- and 'a ExVal = (* [e] *)
+ and 'a ExVal = (* [e] *)
ExName of ExName
| ExNameVal of ExName * 'a Val
- withtype 'a Record = 'a Val LabMap (* [r] *)
+ withtype 'a Record = 'a Val LabMap (* [r] *)
(* Operations *)
@@ -4785,17 +4785,17 @@
(* Types [Section 6.3] *)
- type 'a Mem = 'a Val AddrMap (* [mem] *)
+ type 'a Mem = 'a Val AddrMap (* [mem] *)
- type 'a State = 'a Mem * ExNameSet (* [s] *)
+ type 'a State = 'a Mem * ExNameSet (* [s] *)
(* Operations *)
- val insertAddr: 'a State * Addr * 'a Val -> 'a State
- val insertExName: 'a State * ExName -> 'a State
+ val insertAddr: 'a State * Addr * 'a Val -> 'a State
+ val insertExName: 'a State * ExName -> 'a State
- val findAddr: 'a State * Addr -> 'a Val option
+ val findAddr: 'a State * Addr -> 'a Val option
end
(* stop of STATE.sml *)
@@ -4826,9 +4826,9 @@
(* Types [Section 6.3] *)
- type 'a Mem = 'a Val AddrMap (* [mem] *)
+ type 'a Mem = 'a Val AddrMap (* [mem] *)
- type 'a State = 'a Mem * ExNameSet (* [s] *)
+ type 'a State = 'a Mem * ExNameSet (* [s] *)
(* Operations *)
@@ -4865,15 +4865,15 @@
type Info
- type SCon = SCon.SCon
- type Lab = Lab.Lab
- type VId = VId.Id
- type TyCon = TyCon.Id
- type TyVar = TyVar.TyVar
- type StrId = StrId.Id
+ type SCon = SCon.SCon
+ type Lab = Lab.Lab
+ type VId = VId.Id
+ type TyCon = TyCon.Id
+ type TyVar = TyVar.TyVar
+ type StrId = StrId.Id
type longVId = LongVId.longId
- type longTyCon = LongTyCon.longId
- type longStrId = LongStrId.longId
+ type longTyCon = LongTyCon.longId
+ type longStrId = LongStrId.longId
(* Optional keyword `op' *)
@@ -4984,24 +4984,24 @@
(* Operations *)
- val infoAtExp: AtExp -> Info
- val infoExpRow: ExpRow -> Info
- val infoExp: Exp -> Info
- val infoMatch: Match -> Info
- val infoMrule: Mrule -> Info
- val infoDec: Dec -> Info
- val infoValBind: ValBind -> Info
- val infoTypBind: TypBind -> Info
- val infoDatBind: DatBind -> Info
- val infoConBind: ConBind -> Info
- val infoExBind: ExBind -> Info
- val infoAtPat: AtPat -> Info
- val infoPatRow: PatRow -> Info
- val infoPat: Pat -> Info
- val infoTy: Ty -> Info
- val infoTyRow: TyRow -> Info
- val infoTyseq: Tyseq -> Info
- val infoTyVarseq: TyVarseq -> Info
+ val infoAtExp: AtExp -> Info
+ val infoExpRow: ExpRow -> Info
+ val infoExp: Exp -> Info
+ val infoMatch: Match -> Info
+ val infoMrule: Mrule -> Info
+ val infoDec: Dec -> Info
+ val infoValBind: ValBind -> Info
+ val infoTypBind: TypBind -> Info
+ val infoDatBind: DatBind -> Info
+ val infoConBind: ConBind -> Info
+ val infoExBind: ExBind -> Info
+ val infoAtPat: AtPat -> Info
+ val infoPatRow: PatRow -> Info
+ val infoPat: Pat -> Info
+ val infoTy: Ty -> Info
+ val infoTyRow: TyRow -> Info
+ val infoTyseq: Tyseq -> Info
+ val infoTyVarseq: TyVarseq -> Info
end
(* stop of GRAMMAR_CORE.sml *)
@@ -5028,17 +5028,17 @@
(* Import *)
- type Info = Info
+ type Info = Info
- type SCon = SCon.SCon
- type Lab = Lab.Lab
- type VId = VId.Id
- type TyCon = TyCon.Id
- type TyVar = TyVar.TyVar
- type StrId = StrId.Id
+ type SCon = SCon.SCon
+ type Lab = Lab.Lab
+ type VId = VId.Id
+ type TyCon = TyCon.Id
+ type TyVar = TyVar.TyVar
+ type StrId = StrId.Id
type longVId = LongVId.longId
- type longTyCon = LongTyCon.longId
- type longStrId = LongStrId.longId
+ type longTyCon = LongTyCon.longId
+ type longStrId = LongStrId.longId
(* Optional keyword `op' *)
@@ -5150,72 +5150,72 @@
(* Extracting info fields *)
- fun infoAtExp(SCONAtExp(I,_)) = I
- | infoAtExp(LONGVIDAtExp(I,_,_)) = I
- | infoAtExp(RECORDAtExp(I,_)) = I
- | infoAtExp(LETAtExp(I,_,_)) = I
+ fun infoAtExp(SCONAtExp(I,_)) = I
+ | infoAtExp(LONGVIDAtExp(I,_,_)) = I
+ | infoAtExp(RECORDAtExp(I,_)) = I
+ | infoAtExp(LETAtExp(I,_,_)) = I
| infoAtExp(PARAtExp(I,_)) = I
- fun infoExpRow(ExpRow(I,_,_,_)) = I
+ fun infoExpRow(ExpRow(I,_,_,_)) = I
- fun infoExp(ATEXPExp(I,_)) = I
- | infoExp(APPExp(I,_,_)) = I
+ fun infoExp(ATEXPExp(I,_)) = I
+ | infoExp(APPExp(I,_,_)) = I
| infoExp(TYPEDExp(I,_,_)) = I
- | infoExp(HANDLEExp(I,_,_)) = I
- | infoExp(RAISEExp(I,_)) = I
- | infoExp(FNExp(I,_)) = I
+ | infoExp(HANDLEExp(I,_,_)) = I
+ | infoExp(RAISEExp(I,_)) = I
+ | infoExp(FNExp(I,_)) = I
- fun infoMatch(Match(I,_,_)) = I
+ fun infoMatch(Match(I,_,_)) = I
- fun infoMrule(Mrule(I,_,_)) = I
+ fun infoMrule(Mrule(I,_,_)) = I
- fun infoDec(VALDec(I,_,_)) = I
- | infoDec(TYPEDec(I,_)) = I
- | infoDec(DATATYPEDec(I,_)) = I
- | infoDec(REPLICATIONDec(I,_,_)) = I
- | infoDec(ABSTYPEDec(I,_,_)) = I
- | infoDec(EXCEPTIONDec(I,_)) = I
+ fun infoDec(VALDec(I,_,_)) = I
+ | infoDec(TYPEDec(I,_)) = I
+ | infoDec(DATATYPEDec(I,_)) = I
+ | infoDec(REPLICATIONDec(I,_,_)) = I
+ | infoDec(ABSTYPEDec(I,_,_)) = I
+ | infoDec(EXCEPTIONDec(I,_)) = I
| infoDec(LOCALDec(I,_,_)) = I
- | infoDec(OPENDec(I,_)) = I
- | infoDec(EMPTYDec(I)) = I
- | infoDec(SEQDec(I,_,_)) = I
+ | infoDec(OPENDec(I,_)) = I
+ | infoDec(EMPTYDec(I)) = I
+ | infoDec(SEQDec(I,_,_)) = I
- fun infoValBind(PLAINValBind(I,_,_,_)) = I
- | infoValBind(RECValBind(I,_)) = I
+ fun infoValBind(PLAINValBind(I,_,_,_)) = I
+ | infoValBind(RECValBind(I,_)) = I
- fun infoTypBind(TypBind(I,_,_,_,_)) = I
+ fun infoTypBind(TypBind(I,_,_,_,_)) = I
- fun infoDatBind(DatBind(I,_,_,_,_)) = I
+ fun infoDatBind(DatBind(I,_,_,_,_)) = I
- fun infoConBind(ConBind(I,_,_,_,_)) = I
+ fun infoConBind(ConBind(I,_,_,_,_)) = I
fun infoExBind(NEWExBind(I,_,_,_,_)) = I
- | infoExBind(EQUALExBind(I,_,_,_,_,_)) = I
+ | infoExBind(EQUALExBind(I,_,_,_,_,_)) = I
- fun infoAtPat(WILDCARDAtPat(I)) = I
- | infoAtPat(SCONAtPat(I,_)) = I
- | infoAtPat(LONGVIDAtPat(I,_,_)) = I
- | infoAtPat(RECORDAtPat(I,_)) = I
+ fun infoAtPat(WILDCARDAtPat(I)) = I
+ | infoAtPat(SCONAtPat(I,_)) = I
+ | infoAtPat(LONGVIDAtPat(I,_,_)) = I
+ | infoAtPat(RECORDAtPat(I,_)) = I
| infoAtPat(PARAtPat(I,_)) = I
- fun infoPatRow(WILDCARDPatRow(I)) = I
- | infoPatRow(ROWPatRow(I,_,_,_)) = I
+ fun infoPatRow(WILDCARDPatRow(I)) = I
+ | infoPatRow(ROWPatRow(I,_,_,_)) = I
- fun infoPat(ATPATPat(I,_)) = I
+ fun infoPat(ATPATPat(I,_)) = I
| infoPat(CONPat(I,_,_,_)) = I
| infoPat(TYPEDPat(I,_,_)) = I
- | infoPat(ASPat(I,_,_,_,_)) = I
+ | infoPat(ASPat(I,_,_,_,_)) = I
- fun infoTy(TYVARTy(I,_)) = I
- | infoTy(RECORDTy(I,_)) = I
- | infoTy(TYCONTy(I,_,_)) = I
- | infoTy(ARROWTy(I,_,_)) = I
- | infoTy(PARTy(I,_)) = I
+ fun infoTy(TYVARTy(I,_)) = I
+ | infoTy(RECORDTy(I,_)) = I
+ | infoTy(TYCONTy(I,_,_)) = I
+ | infoTy(ARROWTy(I,_,_)) = I
+ | infoTy(PARTy(I,_)) = I
- fun infoTyRow(TyRow(I,_,_,_)) = I
+ fun infoTyRow(TyRow(I,_,_,_)) = I
- fun infoTyseq(Tyseq(I,_)) = I
- fun infoTyVarseq(TyVarseq(I,_)) = I
+ fun infoTyseq(Tyseq(I,_)) = I
+ fun infoTyVarseq(TyVarseq(I,_)) = I
end
(* stop of GrammarCoreFn.sml *)
@@ -5281,19 +5281,19 @@
type Info
- type VId = Core.VId
- type TyCon = Core.TyCon
- type TyVar = Core.TyVar
- type StrId = Core.StrId
+ type VId = Core.VId
+ type TyCon = Core.TyCon
+ type TyVar = Core.TyVar
+ type StrId = Core.StrId
type longVId = Core.longVId
- type longTyCon = Core.longTyCon
- type longStrId = Core.longStrId
- type Dec = Core.Dec
- type Ty = Core.Ty
- type TyVarseq = Core.TyVarseq
+ type longTyCon = Core.longTyCon
+ type longStrId = Core.longStrId
+ type Dec = Core.Dec
+ type Ty = Core.Ty
+ type TyVarseq = Core.TyVarseq
- type SigId = SigId.Id
- type FunId = FunId.Id
+ type SigId = SigId.Id
+ type FunId = FunId.Id
(* Structures [Figures 5 and 6] *)
@@ -5382,21 +5382,21 @@
(* Operations *)
- val infoStrExp: StrExp -> Info
- val infoStrDec: StrDec -> Info
- val infoStrBind: StrBind -> Info
- val infoSigExp: SigExp -> Info
- val infoSigBind: SigBind -> Info
- val infoSpec: Spec -> Info
- val infoValDesc: ValDesc -> Info
- val infoTypDesc: TypDesc -> Info
- val infoDatDesc: DatDesc -> Info
- val infoConDesc: ConDesc -> Info
- val infoExDesc: ExDesc -> Info
- val infoStrDesc: StrDesc -> Info
- val infoFunDec: FunDec -> Info
- val infoFunBind: FunBind -> Info
- val infoTopDec: TopDec -> Info
+ val infoStrExp: StrExp -> Info
+ val infoStrDec: StrDec -> Info
+ val infoStrBind: StrBind -> Info
+ val infoSigExp: SigExp -> Info
+ val infoSigBind: SigBind -> Info
+ val infoSpec: Spec -> Info
+ val infoValDesc: ValDesc -> Info
+ val infoTypDesc: TypDesc -> Info
+ val infoDatDesc: DatDesc -> Info
+ val infoConDesc: ConDesc -> Info
+ val infoExDesc: ExDesc -> Info
+ val infoStrDesc: StrDesc -> Info
+ val infoFunDec: FunDec -> Info
+ val infoFunBind: FunBind -> Info
+ val infoTopDec: TopDec -> Info
end
(* stop of GRAMMAR_MODULE.sml *)
@@ -5516,56 +5516,56 @@
(* Extracting info fields *)
- fun infoStrExp(STRUCTStrExp(I,_)) = I
+ fun infoStrExp(STRUCTStrExp(I,_)) = I
| infoStrExp(LONGSTRIDStrExp(I,_)) = I
- | infoStrExp(TRANSStrExp(I,_,_)) = I
- | infoStrExp(OPAQStrExp(I,_,_)) = I
- | infoStrExp(APPStrExp(I,_,_)) = I
- | infoStrExp(LETStrExp(I,_,_)) = I
+ | infoStrExp(TRANSStrExp(I,_,_)) = I
+ | infoStrExp(OPAQStrExp(I,_,_)) = I
+ | infoStrExp(APPStrExp(I,_,_)) = I
+ | infoStrExp(LETStrExp(I,_,_)) = I
- fun infoStrDec(DECStrDec(I,_)) = I
+ fun infoStrDec(DECStrDec(I,_)) = I
| infoStrDec(STRUCTUREStrDec(I,_)) = I
- | infoStrDec(LOCALStrDec(I,_,_)) = I
- | infoStrDec(EMPTYStrDec(I)) = I
- | infoStrDec(SEQStrDec(I,_,_)) = I
+ | infoStrDec(LOCALStrDec(I,_,_)) = I
+ | infoStrDec(EMPTYStrDec(I)) = I
+ | infoStrDec(SEQStrDec(I,_,_)) = I
- fun infoStrBind(StrBind(I,_,_,_)) = I
+ fun infoStrBind(StrBind(I,_,_,_)) = I
- fun infoSigExp(SIGSigExp(I,_)) = I
- | infoSigExp(SIGIDSigExp(I,_)) = I
- | infoSigExp(WHERETYPESigExp(I,_,_,_,_)) = I
+ fun infoSigExp(SIGSigExp(I,_)) = I
+ | infoSigExp(SIGIDSigExp(I,_)) = I
+ | infoSigExp(WHERETYPESigExp(I,_,_,_,_)) = I
- fun infoSigDec(SigDec(I,_)) = I
+ fun infoSigDec(SigDec(I,_)) = I
- fun infoSigBind(SigBind(I,_,_,_)) = I
+ fun infoSigBind(SigBind(I,_,_,_)) = I
- fun infoSpec(VALSpec(I,_)) = I
- | infoSpec(TYPESpec(I,_)) = I
- | infoSpec(EQTYPESpec(I,_)) = I
- | infoSpec(DATATYPESpec(I,_)) = I
+ fun infoSpec(VALSpec(I,_)) = I
+ | infoSpec(TYPESpec(I,_)) = I
+ | infoSpec(EQTYPESpec(I,_)) = I
+ | infoSpec(DATATYPESpec(I,_)) = I
| infoSpec(REPLICATIONSpec(I,_,_)) = I
- | infoSpec(EXCEPTIONSpec(I,_)) = I
- | infoSpec(STRUCTURESpec(I,_)) = I
- | infoSpec(INCLUDESpec(I,_)) = I
- | infoSpec(EMPTYSpec(I)) = I
+ | infoSpec(EXCEPTIONSpec(I,_)) = I
+ | infoSpec(STRUCTURESpec(I,_)) = I
+ | infoSpec(INCLUDESpec(I,_)) = I
+ | infoSpec(EMPTYSpec(I)) = I
| infoSpec(SEQSpec(I,_,_)) = I
| infoSpec(SHARINGTYPESpec(I,_,_)) = I
- | infoSpec(SHARINGSpec(I,_,_)) = I
+ | infoSpec(SHARINGSpec(I,_,_)) = I
- fun infoValDesc(ValDesc(I,_,_,_)) = I
- fun infoTypDesc(TypDesc(I,_,_,_)) = I
- fun infoDatDesc(DatDesc(I,_,_,_,_)) = I
- fun infoConDesc(ConDesc(I,_,_,_)) = I
- fun infoExDesc(ExDesc(I,_,_,_)) = I
- fun infoStrDesc(StrDesc(I,_,_,_)) = I
+ fun infoValDesc(ValDesc(I,_,_,_)) = I
+ fun infoTypDesc(TypDesc(I,_,_,_)) = I
+ fun infoDatDesc(DatDesc(I,_,_,_,_)) = I
+ fun infoConDesc(ConDesc(I,_,_,_)) = I
+ fun infoExDesc(ExDesc(I,_,_,_)) = I
+ fun infoStrDesc(StrDesc(I,_,_,_)) = I
- fun infoFunDec(FunDec(I,_)) = I
+ fun infoFunDec(FunDec(I,_)) = I
- fun infoFunBind(FunBind(I,_,_,_,_,_)) = I
+ fun infoFunBind(FunBind(I,_,_,_,_,_)) = I
- fun infoTopDec(STRDECTopDec(I,_,_)) = I
- | infoTopDec(SIGDECTopDec(I,_,_)) = I
- | infoTopDec(FUNDECTopDec(I,_,_)) = I
+ fun infoTopDec(STRDECTopDec(I,_,_)) = I
+ | infoTopDec(SIGDECTopDec(I,_,_)) = I
+ | infoTopDec(FUNDECTopDec(I,_,_)) = I
end
(* stop of GrammarModuleFn.sml *)
@@ -5584,7 +5584,7 @@
structure Module: GRAMMAR_MODULE
- type Info = Module.Info
+ type Info = Module.Info
type TopDec = Module.TopDec
@@ -5681,20 +5681,20 @@
* (*ValEnv*) (FcnClosure Val * IdStatus) VIdMap
type ValStr = FcnClosure Val * IdStatus
- type ValEnv = ValStr VIdMap (* [VE] *)
+ type ValEnv = ValStr VIdMap (* [VE] *)
type TyStr = ValEnv
type TyEnv = TyStr TyConMap (* [TE] *)
type Str = (ValStr, TyStr) Str'
- type StrEnv = Str StrIdMap (* [SE] *)
+ type StrEnv = Str StrIdMap (* [SE] *)
- type Env = StrEnv * TyEnv * ValEnv (* [E] *)
+ type Env = StrEnv * TyEnv * ValEnv (* [E] *)
(* Operations *)
- val Rec: ValEnv -> ValEnv
+ val Rec: ValEnv -> ValEnv
end
(* stop of DYNAMIC_ENV.sml *)
@@ -5736,12 +5736,12 @@
and TyEnv = (FcnClosure Val * IdStatus) VIdMap TyConMap (* [TE] *)
and StrEnv = (FcnClosure Val * IdStatus,
(FcnClosure Val * IdStatus) VIdMap) Str' StrIdMap
- (* [SE] *)
+ (* [SE] *)
type ValStr = FcnClosure Val * IdStatus
type TyStr = ValEnv
type Str = (ValStr, TyStr) Str'
- type Env = StrEnv * TyEnv * ValEnv (* [E] *)
+ type Env = StrEnv * TyEnv * ValEnv (* [E] *)
(* Unrolling [Section 6.6] *)
@@ -5892,15 +5892,15 @@
val SE0 = StrIdMap.empty
val TE0 = TyConMap.fromList[(tyconUnit, VEUnit),
- (tyconBool, VEBool),
- (tyconInt, VEInt),
- (tyconWord, VEWord),
- (tyconReal, VEReal),
- (tyconString, VEString),
- (tyconChar, VEChar),
- (tyconList, VEList),
- (tyconRef, VERef),
- (tyconExn, VEExn)]
+ (tyconBool, VEBool),
+ (tyconInt, VEInt),
+ (tyconWord, VEWord),
+ (tyconReal, VEReal),
+ (tyconString, VEString),
+ (tyconChar, VEChar),
+ (tyconList, VEList),
+ (tyconRef, VERef),
+ (tyconExn, VEExn)]
val VE0 = VIdMap.fromList [(vidEq, valstrEq),
(vidAssign, valstrAssign),
@@ -5946,23 +5946,23 @@
(* Export types [Section 7.2] *)
- type ValInt = IdStatus VIdMap (* [VI] *)
- type TyInt = ValInt TyConMap (* [TI] *)
+ type ValInt = IdStatus VIdMap (* [VI] *)
+ type TyInt = ValInt TyConMap (* [TI] *)
type Str = (IdStatus, ValInt) Str'
- type StrInt = Str StrIdMap (* [SI] *)
+ type StrInt = Str StrIdMap (* [SI] *)
- type Int = StrInt * TyInt * ValInt (* [I] *)
+ type Int = StrInt * TyInt * ValInt (* [I] *)
(* Operations *)
- val fromSI: StrInt -> Int
- val fromTI: TyInt -> Int
- val fromVI: ValInt -> Int
- val fromVIandTI: ValInt * TyInt -> Int
+ val fromSI: StrInt -> Int
+ val fromTI: TyInt -> Int
+ val fromVI: ValInt -> Int
+ val fromVIandTI: ValInt * TyInt -> Int
- val Inter: Env -> Int
+ val Inter: Env -> Int
val cutdown: Env * Int -> Env
end
@@ -5992,13 +5992,13 @@
(* Export types [Section 7.2] *)
- type ValInt = IdStatus VIdMap (* [VI] *)
- type TyInt = ValInt TyConMap (* [TI] *)
+ type ValInt = IdStatus VIdMap (* [VI] *)
+ type TyInt = ValInt TyConMap (* [TI] *)
type Str = (IdStatus, ValInt) Str'
- type StrInt = Str StrIdMap (* [SI] *)
+ type StrInt = Str StrIdMap (* [SI] *)
- type Int = StrInt * TyInt * ValInt (* [I] *)
+ type Int = StrInt * TyInt * ValInt (* [I] *)
(* Injections [Section 4.3] *)
@@ -6085,31 +6085,31 @@
(*Basis*) (FunctorClosure FunIdMap * Int SigIdMap * Env)
type SigEnv = Int SigIdMap (* [G] *)
- type FunEnv = FunctorClosure FunIdMap (* [F] *)
+ type FunEnv = FunctorClosure FunIdMap (* [F] *)
- type Basis = FunEnv * SigEnv * Env (* [B] *)
+ type Basis = FunEnv * SigEnv * Env (* [B] *)
(* Operations *)
- val empty: Basis
- val fromE: Env -> Basis
- val fromF: FunEnv -> Basis
- val fromG: SigEnv -> Basis
+ val empty: Basis
+ val fromE: Env -> Basis
+ val fromF: FunEnv -> Basis
+ val fromG: SigEnv -> Basis
- val Eof: Basis -> Env
+ val Eof: Basis -> Env
- val plus: Basis * Basis -> Basis
- val plusSE: Basis * StrEnv -> Basis
- val plusG: Basis * SigEnv -> Basis
- val plusF: Basis * FunEnv -> Basis
- val plusE: Basis * Env -> Basis
+ val plus: Basis * Basis -> Basis
+ val plusSE: Basis * StrEnv -> Basis
+ val plusG: Basis * SigEnv -> Basis
+ val plusF: Basis * FunEnv -> Basis
+ val plusE: Basis * Env -> Basis
- val findStrId: Basis * StrId -> Str option
- val findSigId: Basis * SigId -> Int option
- val findFunId: Basis * FunId -> FunctorClosure option
- val findLongStrId: Basis * longStrId -> Str option
- val findLongTyCon: Basis * longTyCon -> ValEnv option
+ val findStrId: Basis * StrId -> Str option
+ val findSigId: Basis * SigId -> Int option
+ val findFunId: Basis * FunId -> FunctorClosure option
+ val findLongStrId: Basis * longStrId -> Str option
+ val findLongTyCon: Basis * longTyCon -> ValEnv option
end
(* stop of DYNAMIC_BASIS.sml *)
@@ -6148,10 +6148,10 @@
FunctorClosure of (StrId * Int) * StrExp *
(*Basis*) (FunEnv * SigEnv * Env)
- withtype SigEnv = Int SigIdMap (* [G] *)
- and FunEnv = FunctorClosure FunIdMap (* [F] *)
+ withtype SigEnv = Int SigIdMap (* [G] *)
+ and FunEnv = FunctorClosure FunIdMap (* [F] *)
- type Basis = FunEnv * SigEnv * Env (* [B] *)
+ type Basis = FunEnv * SigEnv * Env (* [B] *)
@@ -6355,18 +6355,18 @@
datatype Assoc = LEFT | RIGHT
type InfStatus = Assoc * int
- type InfEnv = InfStatus VIdMap.map (* [J] *)
+ type InfEnv = InfStatus VIdMap.map (* [J] *)
- val empty: InfEnv
- val assign: InfEnv * VId list * InfStatus -> InfEnv
- val cancel: InfEnv * VId list -> InfEnv
+ val empty: InfEnv
+ val assign: InfEnv * VId list * InfStatus -> InfEnv
+ val cancel: InfEnv * VId list -> InfEnv
(* Resolving phrases containing infixed identifiers *)
- val parseExp: InfEnv * AtExp list -> Exp
- val parsePat: InfEnv * AtPat list -> Pat
- val parseFmrule: InfEnv * AtPat list -> Op * VId * AtPat list
+ val parseExp: InfEnv * AtExp list -> Exp
+ val parsePat: InfEnv * AtPat list -> Pat
+ val parseFmrule: InfEnv * AtPat list -> Op * VId * AtPat list
end
(* stop of INFIX.sml *)
@@ -6392,7 +6392,7 @@
type InfStatus = Assoc * int
- type InfEnv = InfStatus VIdMap.map (* [J] *)
+ type InfEnv = InfStatus VIdMap.map (* [J] *)
@@ -6418,9 +6418,9 @@
(* Helpers for error messages *)
- val error = Error.error
- fun errorVId(I, s, vid) = error(I, s ^ VId.toString vid)
- fun errorLongVId(I, s, longvid) = error(I, s ^ LongVId.toString longvid)
+ val error = Error.error
+ fun errorVId(I, s, vid) = error(I, s ^ VId.toString vid)
+ fun errorLongVId(I, s, longvid) = error(I, s ^ LongVId.toString longvid)
@@ -6525,22 +6525,22 @@
fun pairExp(atexp1, atexp2) =
let
- val I1 = infoAtExp atexp1
- val I2 = infoAtExp atexp2
- val lab1 = Lab.fromInt 1
- val lab2 = Lab.fromInt 2
- val exprow2 = ExpRow(I2, lab2, atexpExp atexp2, NONE)
- val exprow1 = ExpRow(I1, lab1, atexpExp atexp1, SOME exprow2)
+ val I1 = infoAtExp atexp1
+ val I2 = infoAtExp atexp2
+ val lab1 = Lab.fromInt 1
+ val lab2 = Lab.fromInt 2
+ val exprow2 = ExpRow(I2, lab2, atexpExp atexp2, NONE)
+ val exprow1 = ExpRow(I1, lab1, atexpExp atexp1, SOME exprow2)
in
RECORDAtExp(Source.over(I1,I2), SOME exprow1)
end
fun infappExp(atexp1, vid, atexp2) =
let
- val Ivid = Source.between(infoAtExp atexp1, infoAtExp atexp2)
- val longvid = LongVId.fromId vid
- val atexp1' = LONGVIDAtExp(Ivid, SANSOp, longvid)
- val atexp2' = pairExp(atexp1, atexp2)
+ val Ivid = Source.between(infoAtExp atexp1, infoAtExp atexp2)
+ val longvid = LongVId.fromId vid
+ val atexp1' = LONGVIDAtExp(Ivid, SANSOp, longvid)
+ val atexp2' = pairExp(atexp1, atexp2)
in
appExp(atexp1', atexp2')
end
@@ -6573,22 +6573,22 @@
fun pairPat(atpat1, atpat2) =
let
- val I1 = infoAtPat atpat1
- val I2 = infoAtPat atpat2
- val lab1 = Lab.fromInt 1
- val lab2 = Lab.fromInt 2
- val patrow2 = ROWPatRow(I2, lab2, atpatPat atpat2, NONE)
- val patrow1 = ROWPatRow(I1, lab1, atpatPat atpat1, SOME patrow2)
+ val I1 = infoAtPat atpat1
+ val I2 = infoAtPat atpat2
+ val lab1 = Lab.fromInt 1
+ val lab2 = Lab.fromInt 2
+ val patrow2 = ROWPatRow(I2, lab2, atpatPat atpat2, NONE)
+ val patrow1 = ROWPatRow(I1, lab1, atpatPat atpat1, SOME patrow2)
in
RECORDAtPat(Source.over(I1,I2), SOME patrow1)
end
fun infconPat(atpat1, vid, atpat2) =
let
- val Ivid = Source.between(infoAtPat atpat1, infoAtPat atpat2)
- val longvid = LongVId.fromId vid
- val atpat1' = LONGVIDAtPat(Ivid, SANSOp, longvid)
- val atpat2' = pairPat(atpat1, atpat2)
+ val Ivid = Source.between(infoAtPat atpat1, infoAtPat atpat2)
+ val longvid = LongVId.fromId vid
+ val atpat1' = LONGVIDAtPat(Ivid, SANSOp, longvid)
+ val atpat2' = pairPat(atpat1, atpat2)
in
conPat(atpat1', atpat2')
end
@@ -6627,7 +6627,7 @@
else if List.length atpats < 2 then
error(I, "missing function arguments")
else
- ( checkNonfixity ps (* including 1st *)
+ ( checkNonfixity ps (* including 1st *)
; ( op_opt, LongVId.toId longvid, List.tl atpats )
)
| WILDCARDAtPat(I) =>
@@ -6659,7 +6659,7 @@
| NONFIX(PARAtPat(_, pat)) =>
error(infoPat pat, "misplaced non-infix pattern")
- | _ => maybeNonfixClause(ps)
+ | _ => maybeNonfixClause(ps)
fun maybePlainInfixClause(ps) =
case ps
@@ -6732,20 +6732,20 @@
(* Import types *)
- type StaticBasis = StaticBasis.Basis (* [B_STAT] *)
- type DynamicBasis = DynamicBasis.Basis (* [B_DYN] *)
+ type StaticBasis = StaticBasis.Basis (* [B_STAT] *)
+ type DynamicBasis = DynamicBasis.Basis (* [B_DYN] *)
(* Type [Section 8] *)
- type Basis = StaticBasis * DynamicBasis (* [B] *)
+ type Basis = StaticBasis * DynamicBasis (* [B] *)
(* Operations *)
- val B_STATof: Basis -> StaticBasis
+ val B_STATof: Basis -> StaticBasis
val B_DYNof: Basis -> DynamicBasis
- val oplus: Basis * Basis -> Basis
+ val oplus: Basis * Basis -> Basis
end
(* stop of BASIS.sml *)
@@ -6761,12 +6761,12 @@
(* Import types *)
- type StaticBasis = StaticBasis.Basis (* [B_STAT] *)
- type DynamicBasis = DynamicBasis.Basis (* [B_DYN] *)
+ type StaticBasis = StaticBasis.Basis (* [B_STAT] *)
+ type DynamicBasis = DynamicBasis.Basis (* [B_DYN] *)
(* Type [Section 8] *)
- type Basis = StaticBasis * DynamicBasis (* [B] *)
+ type Basis = StaticBasis * DynamicBasis (* [B] *)
(* Projections *)
@@ -7518,7 +7518,7 @@
(* [Rules 144 to 148] *)
(case (DynamicEnv.findLongVId(E, longvid), v)
of ( SOME(Val.VId vid, IdStatus.c),
- Val.VIdVal(vid',v') ) =>
+ Val.VIdVal(vid',v') ) =>
if vid = VId.fromString "ref" then
error(I, "runtime type error: address expected")
else if vid = vid' then
@@ -7533,7 +7533,7 @@
raise FAIL
| ( SOME(Val.ExVal(Val.ExName en),IdStatus.e),
- Val.ExVal(Val.ExNameVal(en',v')) ) =>
+ Val.ExVal(Val.ExNameVal(en',v')) ) =>
if en = en' then
(* [Rule 146] *)
let
@@ -7546,7 +7546,7 @@
raise FAIL
| ( SOME(Val.VId vid, IdStatus.c),
- Val.Addr a ) =>
+ Val.Addr a ) =>
if vid = VId.fromString "ref" then
(* [Rule 148] *)
let
@@ -7610,12 +7610,12 @@
(* Operations *)
- val Inter: Basis -> IntBasis
+ val Inter: Basis -> IntBasis
- val plusI: IntBasis * Int -> IntBasis
+ val plusI: IntBasis * Int -> IntBasis
- val findSigId: IntBasis * SigId -> Int option
- val findLongTyCon: IntBasis * longTyCon -> ValInt option
+ val findSigId: IntBasis * SigId -> Int option
+ val findLongTyCon: IntBasis * longTyCon -> ValInt option
end
(* stop of INTBASIS.sml *)
@@ -7815,7 +7815,7 @@
s,
B' plusSE
StrIdMap.singleton(strid,
- DynamicEnv.Str(Interface.cutdown(E, I))),
+ DynamicEnv.Str(Interface.cutdown(E, I))),
strexp')
in
E'
@@ -8201,25 +8201,25 @@
type doc
- val empty : doc (* empty document *)
- val break : doc (* space or line break *)
- val ebreak : doc (* empty or line break *)
- val text : string -> doc (* raw text *)
+ val empty : doc (* empty document *)
+ val break : doc (* space or line break *)
+ val ebreak : doc (* empty or line break *)
+ val text : string -> doc (* raw text *)
- val ^^ : doc * doc -> doc (* concatenation *)
- val ^/^ : doc * doc -> doc (* concatenation with break *)
+ val ^^ : doc * doc -> doc (* concatenation *)
+ val ^/^ : doc * doc -> doc (* concatenation with break *)
- val hbox : doc -> doc (* horizontal box *)
- val vbox : doc -> doc (* vertical box *)
- val fbox : doc -> doc (* fill box (h and v) *)
- val abox : doc -> doc (* auto box (h or v) *)
+ val hbox : doc -> doc (* horizontal box *)
+ val vbox : doc -> doc (* vertical box *)
+ val fbox : doc -> doc (* fill box (h and v) *)
+ val abox : doc -> doc (* auto box (h or v) *)
- val nest : int -> doc -> doc (* indentation by k char's *)
- val below : doc -> doc (* keep current indentation *)
+ val nest : int -> doc -> doc (* indentation by k char's *)
+ val below : doc -> doc (* keep current indentation *)
- val isEmpty : doc -> bool
+ val isEmpty : doc -> bool
- val toString : doc * int -> string
+ val toString : doc * int -> string
val output : TextIO.outstream * doc * int -> unit
end
@@ -8264,40 +8264,40 @@
infixr ^^ ^/^
- val empty = EMPTY
- val break = BREAK " "
- val ebreak = BREAK ""
- val text = TEXT
+ val empty = EMPTY
+ val break = BREAK " "
+ val ebreak = BREAK ""
+ val text = TEXT
- fun x ^^ EMPTY = x
- | EMPTY ^^ y = y
- | x ^^ y = CONS(x, y)
+ fun x ^^ EMPTY = x
+ | EMPTY ^^ y = y
+ | x ^^ y = CONS(x, y)
- fun x ^/^ EMPTY = x
- | EMPTY ^/^ y = y
- | x ^/^ y = CONS(x, CONS(break, y))
+ fun x ^/^ EMPTY = x
+ | EMPTY ^/^ y = y
+ | x ^/^ y = CONS(x, CONS(break, y))
- fun below EMPTY = EMPTY
- | below x = BELOW x
+ fun below EMPTY = EMPTY
+ | below x = BELOW x
- fun hbox EMPTY = EMPTY
- | hbox x = BOX(H, x)
+ fun hbox EMPTY = EMPTY
+ | hbox x = BOX(H, x)
- fun vbox EMPTY = EMPTY
- | vbox x = BOX(V, x)
+ fun vbox EMPTY = EMPTY
+ | vbox x = BOX(V, x)
- fun fbox EMPTY = EMPTY
- | fbox x = BOX(F, x)
+ fun fbox EMPTY = EMPTY
+ | fbox x = BOX(F, x)
- fun abox EMPTY = EMPTY
- | abox x = BOX(A, x)
+ fun abox EMPTY = EMPTY
+ | abox x = BOX(A, x)
- fun nest k EMPTY = EMPTY
+ fun nest k EMPTY = EMPTY
| nest k x = NEST(k, x)
- fun isEmpty EMPTY = true
- | isEmpty _ = false
+ fun isEmpty EMPTY = true
+ | isEmpty _ = false
(* Check whether the first line of a document fits into remaining characters *)
@@ -8309,39 +8309,39 @@
fun fits(w, z) =
w >= 0 andalso
case z
- of [] => true
- | (i,m,EMPTY)::z => fits(w, z)
- | (i,m,CONS(x,y))::z => fits(w, (i,m,x)::(i,m,y)::z)
- | (i,m,TEXT s)::z => fits(w - String.size s, z)
- | (i,H,BREAK s)::z => fits(w - String.size s, z)
- | (i,A,BREAK s)::z => false
- | (i,m,BREAK s)::z => true
- | (i,m,BOX(V,x))::z => fits(w, (i,A,x)::z)
- | (i,m,BOX(n,x))::z => fits(w, (i,H,x)::z)
- | (i,m,NEST(j,x))::z => fits(w, (i,m,x)::z)
- | (i,m,BELOW x)::z => fits(w, (i,m,x)::z)
+ of [] => true
+ | (i,m,EMPTY)::z => fits(w, z)
+ | (i,m,CONS(x,y))::z => fits(w, (i,m,x)::(i,m,y)::z)
+ | (i,m,TEXT s)::z => fits(w - String.size s, z)
+ | (i,H,BREAK s)::z => fits(w - String.size s, z)
+ | (i,A,BREAK s)::z => false
+ | (i,m,BREAK s)::z => true
+ | (i,m,BOX(V,x))::z => fits(w, (i,A,x)::z)
+ | (i,m,BOX(n,x))::z => fits(w, (i,H,x)::z)
+ | (i,m,NEST(j,x))::z => fits(w, (i,m,x)::z)
+ | (i,m,BELOW x)::z => fits(w, (i,m,x)::z)
(* Layout *)
fun best(w, k, z, a) =
case z
- of [] => List.rev a
- | (i,m,EMPTY)::z => best(w, k, z, a)
- | (i,m,CONS(x,y))::z => best(w, k, (i,m,x)::(i,m,y)::z, a)
- | (i,m,TEXT s)::z => best(w, k + String.size s, z, PTEXT(s)::a)
- | (i,H,BREAK s)::z => horizontal(w, k, s, z, a)
- | (i,V,BREAK s)::z => vertical(w, i, z, a)
- | (i,F,BREAK s)::z => if fits(w - k - String.size s, z)
+ of [] => List.rev a
+ | (i,m,EMPTY)::z => best(w, k, z, a)
+ | (i,m,CONS(x,y))::z => best(w, k, (i,m,x)::(i,m,y)::z, a)
+ | (i,m,TEXT s)::z => best(w, k + String.size s, z, PTEXT(s)::a)
+ | (i,H,BREAK s)::z => horizontal(w, k, s, z, a)
+ | (i,V,BREAK s)::z => vertical(w, i, z, a)
+ | (i,F,BREAK s)::z => if fits(w - k - String.size s, z)
then horizontal(w, k, s, z, a)
else vertical(w, i, z, a)
- | (i,A,BREAK s)::z => raise Fail "PrettyPrint.best"
- | (i,m,BOX(A,x))::z => if fits(w - k, (i,H,x)::z)
+ | (i,A,BREAK s)::z => raise Fail "PrettyPrint.best"
+ | (i,m,BOX(A,x))::z => if fits(w - k, (i,H,x)::z)
then best(w, k, (i,H,x)::z, a)
else best(w, k, (i,V,x)::z, a)
- | (i,m,BOX(n,x))::z => best(w, k, (i,n,x)::z, a)
- | (i,m,NEST(j,x))::z => best(w, k, (i+j,m,x)::z, a)
- | (i,m,BELOW x)::z => best(w, k, (k,m,x)::z, a)
+ | (i,m,BOX(n,x))::z => best(w, k, (i,n,x)::z, a)
+ | (i,m,NEST(j,x))::z => best(w, k, (i+j,m,x)::z, a)
+ | (i,m,BELOW x)::z => best(w, k, (k,m,x)::z, a)
and horizontal(w, k, s, z, a) =
best(w, k + String.size s, z, PTEXT(s)::a)
@@ -8389,16 +8389,16 @@
type doc = PrettyPrint.doc
- val nest: doc -> doc
+ val nest: doc -> doc
- val paren: doc -> doc
- val brace: doc -> doc
- val brack: doc -> doc
+ val paren: doc -> doc
+ val brace: doc -> doc
+ val brack: doc -> doc
- val ppCommaList: ('a -> doc) -> 'a list -> doc
- val ppStarList: ('a -> doc) -> 'a list -> doc
- val ppSeq: ('a -> doc) -> 'a list -> doc
- val ppSeqPrec: (int -> 'a -> doc) -> int -> 'a list -> doc
+ val ppCommaList: ('a -> doc) -> 'a list -> doc
+ val ppStarList: ('a -> doc) -> 'a list -> doc
+ val ppSeq: ('a -> doc) -> 'a list -> doc
+ val ppSeqPrec: (int -> 'a -> doc) -> int -> 'a list -> doc
end
(* stop of PP_MISC.sml *)
@@ -8493,8 +8493,8 @@
(* Values *)
(* Precedence:
- * 0 : plain expressions
- * 1 : constructor arguments
+ * 0 : plain expressions
+ * 1 : constructor arguments
*)
fun ppVal (s, v) = fbox(below(nest(ppValPrec (0, s) v)))
@@ -8831,9 +8831,9 @@
* (2) There is no requirement of consistency for constructors in
* sharing specifications or type realisations (actually, we
* consider this a serious bug). For example,
- * datatype t1 = A | B
- * datatype t2 = C
- * sharing type t1 = t2
+ * datatype t1 = A | B
+ * datatype t2 = C
+ * sharing type t1 = t2
* is a legal specification. This allows a mix of the constructors
* to appear in matches, rendering the terms of irredundancy and
* exhaustiveness meaningless. We make no attempt to detect this,
@@ -8853,8 +8853,8 @@
(* Operations *)
- val checkPat: Env * Pat -> unit
- val checkMatch: Env * Match -> unit
+ val checkPat: Env * Pat -> unit
+ val checkMatch: Env * Match -> unit
end
(* stop of CHECK_PATTERN.sml *)
@@ -8875,9 +8875,9 @@
* (2) There is no requirement of consistency for constructors in
* sharing specifications or type realisations (actually, we
* consider this a serious bug). For example,
- * datatype t1 = A | B
- * datatype t2 = C
- * sharing type t1 = t2
+ * datatype t1 = A | B
+ * datatype t2 = C
+ * sharing type t1 = t2
* is a legal specification. This allows a mix of the constructors
* to appear in matches, rendering the terms of irredundancy and
* exhaustiveness meaningless. We make no attempt to detect this,
@@ -9126,7 +9126,7 @@
fail(E, know, cont)
else
branch(succeed(E, knowSucc, cont),
- fail(E, knowFail scons, cont)
+ fail(E, knowFail scons, cont)
)
| _ => raise Fail "CheckPattern.matchSCon: type error"
@@ -9301,11 +9301,11 @@
(* Export *)
val elabDec: bool * Context * Dec -> Env
- val elabTy: Context * Ty -> Type
+ val elabTy: Context * Ty -> Type
- val tyvars: TyVarseq -> TyVarSet * TyVar list
+ val tyvars: TyVarseq -> TyVarSet * TyVar list
- val validBindVId: VId -> bool
+ val validBindVId: VId -> bool
val validConBindVId: VId -> bool
end
@@ -10393,7 +10393,7 @@
| lhsRecValBindAtPat(LONGVIDAtPat(I, _, longvid)) =
(case LongVId.explode longvid
of ([], vid) =>
- if not(validBindVId vid) then
+ if not(validBindVId vid) then
(* Syntactic restriction [Section 2.9, 5th bullet] *)
errorVId(I, "illegal rebinding of identifier ", vid)
else
@@ -10481,7 +10481,7 @@
(* Export *)
- val elabTopDec: Basis * TopDec -> Basis
+ val elabTopDec: Basis * TopDec -> Basis
end
(* stop of ELAB_MODULE.sml *)
@@ -11260,8 +11260,8 @@
type Type = Type.Type
type TypeScheme = TypeScheme.TypeScheme
- val ppType: Type -> doc
- val ppTypeScheme: TypeScheme -> doc
+ val ppType: Type -> doc
+ val ppTypeScheme: TypeScheme -> doc
end
(* stop of PP_TYPE.sml *)
@@ -11307,9 +11307,9 @@
(* Types *)
(* Precedence:
- * 0 : function arrow (ty1 -> ty2)
- * 1 : tuple (ty1 * ... * tyn)
- * 2 : constructed type (tyseq tycon)
+ * 0 : function arrow (ty1 -> ty2)
+ * 1 : tuple (ty1 * ... * tyn)
+ * 2 : constructed type (tyseq tycon)
*)
fun ppType tau = fbox(below(nest(ppTypePrec 0 tau)))
@@ -11927,9 +11927,9 @@
(* Export *)
- val execProgram: State ref * Basis * Program -> Basis
- val elabProgram: StaticBasis * Program -> StaticBasis
- val evalProgram: State ref * DynamicBasis * Program -> DynamicBasis
+ val execProgram: State ref * Basis * Program -> Basis
+ val elabProgram: StaticBasis * Program -> StaticBasis
+ val evalProgram: State ref * DynamicBasis * Program -> DynamicBasis
end
(* stop of PROGRAM.sml *)
@@ -12271,7 +12271,7 @@
type svalue
(* the type of the user-supplied argument to the parser *)
- type arg
+ type arg
(* the intended type of the result of the parser. This value is
produced by applying extract from the structure Actions to the
@@ -12306,7 +12306,7 @@
sig
val is_keyword : LrTable.term -> bool
val noShift : LrTable.term -> bool
- val preferred_change : (LrTable.term list * LrTable.term list) list
+ val preferred_change : (LrTable.term list * LrTable.term list) list
val errtermvalue : LrTable.term -> svalue
val showTerminal : LrTable.term -> string
val terms: LrTable.term list
@@ -12336,7 +12336,7 @@
type result
(* the type of the user-supplied argument to the parser *)
- type arg
+ type arg
(* type svalue is the type of semantic values for the semantic value
stack
@@ -12692,7 +12692,7 @@
fun get(a::x, y) = (a, (x,y))
| get(nil, nil) = raise Empty
| get(nil, y) = get(rev y, nil)
- fun put(a,(x,y)) = (x,a::y)
+ fun put(a,(x,y)) = (x,a::y)
end
type ('a,'b) elem = (state * ('a * 'b * 'b))
@@ -12737,7 +12737,7 @@
(println "Parse: state stack:";
printStack(stack, 0);
print(" state="
- ^ showState state
+ ^ showState state
^ " next="
^ showTerminal term
^ " action="
@@ -13153,41 +13153,41 @@
(* Expressions [Figure 15] *)
- val UNITAtExp: Info -> AtExp
- val TUPLEAtExp: Info * Exp list -> AtExp
- val HASHAtExp: Info * Lab -> AtExp
- val CASEExp: Info * Exp * Match -> Exp
- val IFExp: Info * Exp * Exp * Exp -> Exp
- val ANDALSOExp: Info * Exp * Exp -> Exp
- val ORELSEExp: Info * Exp * Exp -> Exp
- val SEQAtExp: Info * Exp list -> AtExp
- val LETAtExp: Info * Dec * Exp list -> AtExp
- val WHILEExp: Info * Exp * Exp -> Exp
- val LISTAtExp: Info * Exp list -> AtExp
+ val UNITAtExp: Info -> AtExp
+ val TUPLEAtExp: Info * Exp list -> AtExp
+ val HASHAtExp: Info * Lab -> AtExp
+ val CASEExp: Info * Exp * Match -> Exp
+ val IFExp: Info * Exp * Exp * Exp -> Exp
+ val ANDALSOExp: Info * Exp * Exp -> Exp
+ val ORELSEExp: Info * Exp * Exp -> Exp
+ val SEQAtExp: Info * Exp list -> AtExp
+ val LETAtExp: Info * Dec * Exp list -> AtExp
+ val WHILEExp: Info * Exp * Exp -> Exp
+ val LISTAtExp: Info * Exp list -> AtExp
(* Patterns [Figure 16] *)
- val UNITAtPat: Info -> AtPat
- val TUPLEAtPat: Info * Pat list -> AtPat
- val LISTAtPat: Info * Pat list -> AtPat
+ val UNITAtPat: Info -> AtPat
+ val TUPLEAtPat: Info * Pat list -> AtPat
+ val LISTAtPat: Info * Pat list -> AtPat
- val VIDPatRow: Info * VId * Ty option * Pat option * PatRow option
+ val VIDPatRow: Info * VId * Ty option * Pat option * PatRow option
-> PatRow
(* Types [Figure 16] *)
- val TUPLETy: Info * Ty list -> Ty
+ val TUPLETy: Info * Ty list -> Ty
(* Function-value bindings [Figure 17] *)
- val FvalBind: Info * Fmatch * FvalBind option -> FvalBind
- val Fmatch: Info * Fmrule * Fmatch option -> Fmatch
- val Fmrule: Info * Op * VId * AtPat list * Ty option * Exp -> Fmrule
+ val FvalBind: Info * Fmatch * FvalBind option -> FvalBind
+ val Fmatch: Info * Fmrule * Fmatch option -> Fmatch
+ val Fmrule: Info * Op * VId * AtPat list * Ty option * Exp -> Fmrule
(* Declarations [Figure 17] *)
- val FUNDec: Info * TyVarseq * FvalBind -> Dec
- val DATATYPEDec: Info * DatBind * TypBind option -> Dec
- val ABSTYPEDec: Info * DatBind * TypBind option * Dec -> Dec
+ val FUNDec: Info * TyVarseq * FvalBind -> Dec
+ val DATATYPEDec: Info * DatBind * TypBind option -> Dec
+ val ABSTYPEDec: Info * DatBind * TypBind option * Dec -> Dec
end
(* stop of DERIVED_FORMS_CORE.sml *)
@@ -13279,7 +13279,7 @@
if tycon' = tycon then
(tyvarseq, ty)
else
- lookupTyCon(tycon, Option.valOf typbind_opt)
+ lookupTyCon(tycon, Option.valOf typbind_opt)
(* may raise Option *)
@@ -13315,7 +13315,7 @@
C.TyRow(I, lab, replaceTy tyvarseq_tyseq ty,
Option.map (replaceTyRow tyvarseq_tyseq) tyrow_opt)
- and replaceTyseq tyvarseq_tyseq (C.Tyseq(I, tys)) =
+ and replaceTyseq tyvarseq_tyseq (C.Tyseq(I, tys)) =
C.Tyseq(I, List.map (replaceTy tyvarseq_tyseq) tys)
@@ -13641,13 +13641,13 @@
(* Structure Bindings [Figure 18] *)
val TRANSStrBind: Info * StrId * SigExp option * StrExp
- * StrBind option -> StrBind
+ * StrBind option -> StrBind
val OPAQStrBind: Info * StrId * SigExp * StrExp
- * StrBind option -> StrBind
+ * StrBind option -> StrBind
(* Structure Expressions [Figure 18] *)
- val APPDECStrExp: Info * FunId * StrDec -> StrExp
+ val APPDECStrExp: Info * FunId * StrDec -> StrExp
(* Functor Bindings [Figure 18] *)
@@ -13663,17 +13663,17 @@
(* Specifications [Figure 19] *)
val SYNSpec: Info * SynDesc -> Spec
- val INCLUDEMULTISpec: Info * SigId list -> Spec
+ val INCLUDEMULTISpec: Info * SigId list -> Spec
val SynDesc: Info * TyVarseq * TyCon * Ty
- * SynDesc option -> SynDesc
+ * SynDesc option -> SynDesc
(* Signature Expressions [Figure 19] *)
- val WHERETYPESigExp: Info * SigExp * TyReaDesc -> SigExp
+ val WHERETYPESigExp: Info * SigExp * TyReaDesc -> SigExp
val TyReaDesc: Info * TyVarseq * longTyCon * Ty
- * TyReaDesc option -> TyReaDesc
+ * TyReaDesc option -> TyReaDesc
end
(* stop of DERIVED_FORMS_MODULE.sml *)
(* start of DerivedFormsModule.sml *)
@@ -13854,8 +13854,8 @@
(* Programs [Figure 18] *)
- val TOPDECProgram: Info * TopDec * Program option -> Program
- val EXPProgram: Info * Exp * Program option -> Program
+ val TOPDECProgram: Info * TopDec * Program option -> Program
+ val EXPProgram: Info * Exp * Program option -> Program
end
(* stop of DERIVED_FORMS_PROGRAM.sml *)
@@ -13995,49 +13995,49 @@
struct
structure Header =
struct
-(* *)
-(* Standard ML syntactical analysis *)
-(* *)
-(* Definition, sections 2, 3, and 8, Appendix A and B *)
-(* *)
-(* Notes: *)
-(* - Two phrases named Fmatch and Fmrule have been added to factorize *)
+(* *)
+(* Standard ML syntactical analysis *)
+(* *)
+(* Definition, sections 2, 3, and 8, Appendix A and B *)
+(* *)
+(* Notes: *)
+(* - Two phrases named Fmatch and Fmrule have been added to factorize *)
(* Fvalbind. *)
-(* - A phrase named SynDesc has been added to factorize type synonym *)
-(* specifications. Similarly, a phrase named TyReaDesc has been added to *)
+(* - A phrase named SynDesc has been added to factorize type synonym *)
+(* specifications. Similarly, a phrase named TyReaDesc has been added to *)
(* factorize type realisation signature expressions. *)
-(* - Infix expressions [Definition, section 2.6] are resolved externally in *)
-(* structure Infix. The parser just maintains the infix environment J by *)
-(* side effect. To achieve correct treatment of scoped fixity directives, *)
+(* - Infix expressions [Definition, section 2.6] are resolved externally in *)
+(* structure Infix. The parser just maintains the infix environment J by *)
+(* side effect. To achieve correct treatment of scoped fixity directives, *)
(* a stack of environments is used. To handle `local' we even need a *)
-(* second environment J' (together with a a second stack). *)
-(* - Syntactic restrictions [Definition, sections 2.9 and 3.5] are checked *)
+(* second environment J' (together with a a second stack). *)
+(* - Syntactic restrictions [Definition, sections 2.9 and 3.5] are checked *)
(* during elaboration, as well as the Fvalbind derived form. *)
-(* - The Definition is not clear about whether `=' should also be legal as *)
-(* a tycon. Since this would result in massive conflicts, and a type named *)
-(* `=' could only be used legally if an implementation would be mad enough *)
-(* to predefine it anyway, we simply disallow it. *)
-(* - The Definition is also vague about what consists a non-infixed occurance *)
-(* of an infix identifier: we assume any occurances in expressions *)
-(* or patterns. This implies that uses of the keyword `op' in constructor *)
-(* and exception bindings are completely redundant. *)
-(* - Datatype replication requires rules for datatype to be duplicated to *)
-(* avoid conflicts on empty tyvarseqs. *)
-(* - Layered patterns require some grammar transformation hack, see pat. *)
-(* - The messy `sigexp where type ... and type ...' syntax requires some *)
-(* really ugly transformations (in absence of a lookahead of 2), watch out *)
-(* for non-terminals of the form xxx__AND_yyybind_opt. *)
-(* - ML-Yacc does not seem to like comments that stretch over several *)
-(* lines... Similarly, comments in semantic actions make it puke... *)
-(* *)
+(* - The Definition is not clear about whether `=' should also be legal as *)
+(* a tycon. Since this would result in massive conflicts, and a type named *)
+(* `=' could only be used legally if an implementation would be mad enough *)
+(* to predefine it anyway, we simply disallow it. *)
+(* - The Definition is also vague about what consists a non-infixed occurance *)
+(* of an infix identifier: we assume any occurances in expressions *)
+(* or patterns. This implies that uses of the keyword `op' in constructor *)
+(* and exception bindings are completely redundant. *)
+(* - Datatype replication requires rules for datatype to be duplicated to *)
+(* avoid conflicts on empty tyvarseqs. *)
+(* - Layered patterns require some grammar transformation hack, see pat. *)
+(* - The messy `sigexp where type ... and type ...' syntax requires some *)
+(* really ugly transformations (in absence of a lookahead of 2), watch out *)
+(* for non-terminals of the form xxx__AND_yyybind_opt. *)
+(* - ML-Yacc does not seem to like comments that stretch over several *)
+(* lines... Similarly, comments in semantic actions make it puke... *)
+(* *)
(* Bugs: *)
-(* - We do NOT support declarations like *)
-(* fun f p1 = case e1 of p2 => e2 *)
-(* | f p3 = e3 *)
+(* - We do NOT support declarations like *)
+(* fun f p1 = case e1 of p2 => e2 *)
+(* | f p3 = e3 *)
(* (without parentheses around the case) because the transformations *)
-(* required to support this would be even a magnitude uglier than those *)
-(* above. In fact, no compiler I know of supports this. *)
-(* *)
+(* required to support this would be even a magnitude uglier than those *)
+(* above. In fact, no compiler I know of supports this. *)
+(* *)
@@ -14058,8 +14058,8 @@
(* Handling infix environments *)
- val J = ref Infix.empty (* context *)
- val J' = ref Infix.empty (* local environment (+ enclosing one) *)
+ val J = ref Infix.empty (* context *)
+ val J' = ref Infix.empty (* local environment (+ enclosing one) *)
val stackJ = ref [] : Infix.InfEnv list ref
val stackJ' = ref [] : Infix.InfEnv list ref
@@ -16307,7 +16307,7 @@
val COMMA_exprow_opt as COMMA_exprow_opt1=COMMA_exprow_opt1 ()
in (
ExpRow(I(lableft,COMMA_exprow_optright),
- lab, exp, COMMA_exprow_opt)
+ lab, exp, COMMA_exprow_opt)
) end
)
in (LrTable.NT 21,(result,lab1left,COMMA_exprow_opt1right),rest671)
@@ -18148,7 +18148,7 @@
val AND_datdesc_opt as AND_datdesc_opt1=AND_datdesc_opt1 ()
in (
DatDesc(I(tyvarseqleft,AND_datdesc_optright),
- tyvarseq, tycon, condesc, AND_datdesc_opt)
+ tyvarseq, tycon, condesc, AND_datdesc_opt)
) end
)
in (LrTable.NT 118,(result,tyvarseq1left,AND_datdesc_opt1right),
@@ -18162,7 +18162,7 @@
val AND_datdesc_opt as AND_datdesc_opt1=AND_datdesc_opt1 ()
in (
DatDesc(I(tyconleft,AND_datdesc_optright),
- TyVarseq(I(defaultPos,defaultPos), []),
+ TyVarseq(I(defaultPos,defaultPos), []),
tycon, condesc, AND_datdesc_opt)
) end
)
@@ -18179,7 +18179,7 @@
val AND_datdesc_opt as AND_datdesc_opt1=AND_datdesc_opt1 ()
in (
DatDesc(I(tyvarseq1left,AND_datdesc_optright),
- tyvarseq1, tycon, condesc, AND_datdesc_opt)
+ tyvarseq1, tycon, condesc, AND_datdesc_opt)
) end
)
in (LrTable.NT 120,(result,tyvarseq11left,AND_datdesc_opt1right),
@@ -18225,7 +18225,7 @@
val AND_exdesc_opt as AND_exdesc_opt1=AND_exdesc_opt1 ()
in (
ExDesc(I(vid'left,AND_exdesc_optright),
- vid', OF_ty_opt, AND_exdesc_opt)
+ vid', OF_ty_opt, AND_exdesc_opt)
) end
)
in (LrTable.NT 124,(result,vid'1left,AND_exdesc_opt1right),rest671)
@@ -18247,7 +18247,7 @@
sigexp__AND_strdesc_opt1 ()
in (
StrDesc(I(stridleft,sigexp__AND_strdesc_optright),
- strid, #1 sigexp__AND_strdesc_opt,
+ strid, #1 sigexp__AND_strdesc_opt,
#2 sigexp__AND_strdesc_opt)
) end
)
@@ -18839,7 +18839,7 @@
(* Handling nested comments *)
- val nesting = ref 0 (* non-reentrant side-effect way :-P *)
+ val nesting = ref 0 (* non-reentrant side-effect way :-P *)
fun eof() =
@@ -18857,7 +18857,7 @@
fun toLRPos(yypos, yytext) =
let
- val yypos = yypos - 2 (* bug in ML-Lex... *)
+ val yypos = yypos - 2 (* bug in ML-Lex... *)
in
(yypos, yypos + String.size yytext)
end
@@ -22435,13 +22435,13 @@
type int = Int.int
fun makeLexer (yyinput: int -> string) =
-let val yygone0:int=1
- val yyb = ref "\n" (* buffer *)
- val yybl: int ref = ref 1 (*buffer length *)
- val yybufpos: int ref = ref 1 (* location of next character to use *)
- val yygone: int ref = ref yygone0 (* position in file of beginning of buffer *)
- val yydone = ref false (* eof found yet? *)
- val yybegin: int ref = ref 1 (*Current 'start state' for lexer *)
+let val yygone0:int=1
+ val yyb = ref "\n" (* buffer *)
+ val yybl: int ref = ref 1 (*buffer length *)
+ val yybufpos: int ref = ref 1 (* location of next character to use *)
+ val yygone: int ref = ref yygone0 (* position in file of beginning of buffer *)
+ val yydone = ref false (* eof found yet? *)
+ val yybegin: int ref = ref 1 (*Current 'start state' for lexer *)
val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
yybegin := x
@@ -22551,7 +22551,7 @@
in if l = !yybl then
if trans = #trans(Vector.sub(Internal.tab,0))
then action(l,NewAcceptingLeaves
-) else let val newchars= if !yydone then "" else yyinput 1024
+) else let val newchars= if !yydone then "" else yyinput 1024
in if (String.size newchars)=0
then (yydone := true;
if (l=i0) then UserDeclarations.eof ()
@@ -22646,25 +22646,25 @@
signature SML =
sig
- val parseString: string -> unit (* Parse only *)
- val elabString: string -> unit (* Parse and elaborate *)
- val evalString: string -> unit (* Parse and evaluate *)
- val execString: string -> unit (* Parse, elaborate, and evaluate *)
+ val parseString: string -> unit (* Parse only *)
+ val elabString: string -> unit (* Parse and elaborate *)
+ val evalString: string -> unit (* Parse and evaluate *)
+ val execString: string -> unit (* Parse, elaborate, and evaluate *)
- val parseFile: string -> unit
- val elabFile: string -> unit
- val evalFile: string -> unit
- val execFile: string -> unit
+ val parseFile: string -> unit
+ val elabFile: string -> unit
+ val evalFile: string -> unit
+ val execFile: string -> unit
- val parseFiles: string -> unit
- val elabFiles: string -> unit
- val evalFiles: string -> unit
- val execFiles: string -> unit
+ val parseFiles: string -> unit
+ val elabFiles: string -> unit
+ val evalFiles: string -> unit
+ val execFiles: string -> unit
- val parseSession: unit -> unit
- val elabSession: unit -> unit
- val evalSession: unit -> unit
- val execSession: unit -> unit
+ val parseSession: unit -> unit
+ val elabSession: unit -> unit
+ val evalSession: unit -> unit
+ val execSession: unit -> unit
end
(* stop of SML.sml *)
@@ -22744,7 +22744,7 @@
fun processString (process, arg) source =
ignore(process arg source)
- handle Error.Error _ => () (* Syntax error *)
+ handle Error.Error _ => () (* Syntax error *)
val parseString = processString(parse, parseInitialArg)
val elabString = processString(elab, elabInitialArg)
@@ -22761,7 +22761,7 @@
val _ = TextIO.closeIn file
in
ignore(process arg source)
- handle Error.Error _ => () (* Syntax error *)
+ handle Error.Error _ => () (* Syntax error *)
end
val parseFile = processFile(parse, parseInitialArg)
@@ -22791,7 +22791,7 @@
">> File \"" ^ name ^ "\":\n")
in
loop(process arg source, names)
- handle Error.Error _ => (* Syntax error *)
+ handle Error.Error _ => (* Syntax error *)
loop(arg, names)
end
in
@@ -22818,7 +22818,7 @@
NONE => ()
| SOME source =>
loop(process arg source)
- handle Error.Error _ => (* Syntax error *)
+ handle Error.Error _ => (* Syntax error *)
loop arg
end
in
Modified: mlton/trunk/benchmark/tests/knuth-bendix.sml
===================================================================
--- mlton/trunk/benchmark/tests/knuth-bendix.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/knuth-bendix.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -51,7 +51,7 @@
| map_rec (a::L) = f a :: map_rec L
in
map_rec
- end
+ end
(******* Quelques definitions du prelude CAML **************)
Modified: mlton/trunk/benchmark/tests/lexgen.sml
===================================================================
--- mlton/trunk/benchmark/tests/lexgen.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/lexgen.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -145,7 +145,7 @@
val empty : tree
val insert : key * tree -> tree
val lookup : key * tree -> key
- exception notfound of key
+ exception notfound of key
end =
struct
open B
@@ -234,7 +234,7 @@
(* flags describing input Lex spec. - unnecessary code is omitted *)
(* if possible *)
- val CharFormat = ref false;
+ val CharFormat = ref false;
val UsesTrailingContext = ref false;
val UsesPrevNewLine = ref false;
@@ -456,7 +456,7 @@
in
if isDigit ch
then f(n*10+(cvt ch), c+1, ch::t)
- else err t
+ else err t
end
in
if isDigit x then f(cvt x, 1, [x]) else x
@@ -474,7 +474,7 @@
case skipws()
(* Lex % operators *)
of #"%" => (case nextch() of
- #"%" => LEXMARK
+ #"%" => LEXMARK
| a => let fun f s =
let val a = nextch()
in if isLetter a then f(a::s)
@@ -621,7 +621,7 @@
fun GetAct (lpct,x) = (case getch(!LexBuf)
of #"(" => GetAct (lpct+1, #"("::x)
| #")" => if lpct = 0 then (implode (rev x))
- else GetAct(lpct-1, #")"::x)
+ else GetAct(lpct-1, #")"::x)
| y => GetAct(lpct,y::x)
(* end case *))
in ACTION (GetAct (0,nil))
@@ -699,7 +699,7 @@
| LP => exp2(CAT(e1,e2),exp0())
| RP => CAT(e1,e2)
| t => (AdvanceTok(); case t of
- QMARK => exp1(CAT(e1,optional(e2)))
+ QMARK => exp1(CAT(e1,optional(e2)))
| STAR => exp1(CAT(e1,CLOSURE(e2)))
| PLUS => exp1(CAT(e1,closure1(e2)))
| CHARS(c) => exp2(CAT(e1,e2),CLASS(c,0))
@@ -720,7 +720,7 @@
fun GetStates () : int list =
let fun add nil sl = sl
- | add (x::y) sl = add y (union ([lookup (!StateTab)(x)
+ | add (x::y) sl = add y (union ([lookup (!StateTab)(x)
handle LOOKUP =>
prErr ("bad state name: "^x)
],sl))
@@ -733,7 +733,7 @@
| incall nil = nil
fun addincs nil = nil
- | addincs (x::y) = x::(x+1)::addincs y
+ | addincs (x::y) = x::(x+1)::addincs y
val state_list =
case !NextTok of
@@ -766,7 +766,7 @@
let val Accept = ref (create String.<=) : (string,string) dictionary ref
val rec ParseRtns = fn l => case getch(!LexBuf) of
#"%" => let val c = getch(!LexBuf) in
- if c = #"%" then (implode (rev l))
+ if c = #"%" then (implode (rev l))
else ParseRtns(c :: #"%" :: l)
end
| c => ParseRtns(c::l)
@@ -885,7 +885,7 @@
val _ = (if length(trans)<256 then CharFormat := true
else CharFormat := false;
if !UsesTrailingContext then
- (say "\ndatatype yyfinstate = N of int | \
+ (say "\ndatatype yyfinstate = N of int | \
\ T of int | D of int\n")
else say "\ndatatype yyfinstate = N of int";
say "\ntype statedata = {fin : yyfinstate list, trans: ";
@@ -943,8 +943,8 @@
val s = StringCvt.padLeft #"0" 3 (Int.toString x)
in
case pos
- of 16 => (say "\\\n\\\\"; say s; 1)
- | _ => (say "\\"; say s; pos+1)
+ of 16 => (say "\\\n\\\\"; say s; 1)
+ | _ => (say "\\"; say s; pos+1)
end
fun emit16(x, pos) =
let val hi8 = x div 256
@@ -968,7 +968,7 @@
end handle notfound _ => (count := !count+1;
say "val "; say name; makeItems x;
makeEntry(y,(name::rs),(insert ((x,name),t))))
- end
+ end
in (makeEntry(trans,nil,empty))
end
@@ -1121,8 +1121,8 @@
and startstates() =
let val startarray = array(!StateNum + 1, nil);
fun listofarray(a,n) =
- let fun f i l = if i >= 0 then f (i-1) ((a sub i)::l) else l
- in f (n-1) nil end
+ let fun f i l = if i >= 0 then f (i-1) ((a sub i)::l) else l
+ in f (n-1) nil end
val rec makess = fn
nil => ()
| (startlist,e)::tl => (fix(startlist,firstpos(e));makess(tl))
@@ -1183,13 +1183,13 @@
\\t\t\t val yypos = i0+ !yygone";
if !CountNewLines
then (sayln "\t\t\tval _ = yylineno := CharVector.foldl";
- sayln "\t\t\t\t(fn (#\"\\n\", n) => n+1 | (_, n) => n) (!yylineno) yytext")
+ sayln "\t\t\t\t(fn (#\"\\n\", n) => n+1 | (_, n) => n) (!yylineno) yytext")
else ();
if !HaveReject
then (say "\t\t\tfun REJECT() = action(i,acts::l";
if !UsesTrailingContext
then sayln ",rs)" else sayln ")")
- else ();
+ else ();
sayln "\t\t\topen UserDeclarations Internal.StartStates";
sayln " in (yybufpos := i; case yyk of ";
sayln "";
@@ -1259,7 +1259,7 @@
let
val (user_code,rules,ends) =
parse() handle x =>
- (close_ibuf(!LexBuf);
+ (close_ibuf(!LexBuf);
TextIO.closeOut(!LexOut);
raise x)
val (fins,trans,tctab,tcpairs) = makedfa(rules)
@@ -1297,7 +1297,7 @@
\\tval yygone = ref 1\t\t(* position in file of beginning of buffer *)\n\
\\tval yydone = ref false\t\t(* eof found yet? *)\n\
\\tval yybegin = ref 1\t\t(*Current 'start state' for lexer *)\n\
- \\n\tval YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>\n\
+ \\n\tval YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>\n\
\\t\t yybegin := x\n\n";
PrintLexer(ends);
close_ibuf(!LexBuf);
Modified: mlton/trunk/benchmark/tests/mlyacc.sml
===================================================================
--- mlton/trunk/benchmark/tests/mlyacc.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/mlyacc.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -248,7 +248,7 @@
type svalue
(* the type of the user-supplied argument to the parser *)
- type arg
+ type arg
(* the intended type of the result of the parser. This value is
produced by applying extract from the structure Actions to the
@@ -283,7 +283,7 @@
sig
val is_keyword : LrTable.term -> bool
val noShift : LrTable.term -> bool
- val preferred_change : (LrTable.term list * LrTable.term list) list
+ val preferred_change : (LrTable.term list * LrTable.term list) list
val errtermvalue : LrTable.term -> svalue
val showTerminal : LrTable.term -> string
val terms: LrTable.term list
@@ -313,7 +313,7 @@
type result
(* the type of the user-supplied argument to the parser *)
- type arg
+ type arg
(* type svalue is the type of semantic values for the semantic value
stack
@@ -483,7 +483,7 @@
(* internal number of rule - convenient for producing LR graph *)
- num : int,
+ num : int,
rulenum : int,
precedence : int option}
@@ -606,7 +606,7 @@
signature LOOK =
sig
- structure Grammar : GRAMMAR
+ structure Grammar : GRAMMAR
structure IntGrammar : INTGRAMMAR
sharing Grammar = IntGrammar.Grammar
@@ -615,7 +615,7 @@
val mkFuncs : {rules : IntGrammar.rule list, nonterms : int,
produces : Grammar.nonterm -> IntGrammar.rule list} ->
- {nullable: Grammar.nonterm -> bool,
+ {nullable: Grammar.nonterm -> bool,
first : Grammar.symbol list -> Grammar.term list}
val prLook : (Grammar.term -> string) * (string -> unit) ->
@@ -732,7 +732,7 @@
LrTable.table *
(LrTable.state -> Errs.err list) * (* errors in a state *)
((string -> unit) -> LrTable.state -> unit) *
- Errs.err list (* list of all errors *)
+ Errs.err list (* list of all errors *)
end;
(* SHRINK_LR_TABLE: finds unique action entry rows in the action table
@@ -828,7 +828,7 @@
datatype rule = RULE of {lhs : symbol, rhs : symbol list,
code : string, prec : symbol option}
- type parseResult = string * declData * rule list
+ type parseResult = string * declData * rule list
val getResult = fn p => p
fun join_decls
@@ -847,7 +847,7 @@
fun mergeControl (nil,a) = [a]
| mergeControl (l as h::t,a) =
case (h,a)
- of (PARSER_NAME _,PARSER_NAME n1) => (ignore "%name"; l)
+ of (PARSER_NAME _,PARSER_NAME n1) => (ignore "%name"; l)
| (FUNCTOR _,FUNCTOR _) => (ignore "%header"; l)
| (PARSE_ARG _,PARSE_ARG _) => (ignore "%arg"; l)
| (START_SYM _,START_SYM s) => (ignore "%start"; l)
@@ -1387,7 +1387,7 @@
in (
DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,
eop=ID_LIST, change=nil,keyword=nil,
- value=nil}
+ value=nil}
) end
)
in (LrTable.NT 4,(result,PERCENT_EOP1left,ID_LIST1right),rest671) end
@@ -1397,7 +1397,7 @@
in (
DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
change=nil,keyword=ID_LIST,
- value=nil}
+ value=nil}
) end
)
in (LrTable.NT 4,(result,KEYWORD1left,ID_LIST1right),rest671) end
@@ -1600,7 +1600,7 @@
val RHS_LIST as RHS_LIST1=RHS_LIST1 ()
in (
map (fn {rhs,code,prec} =>
- Hdr.RULE {lhs=symbolMake ID,rhs=rhs,
+ Hdr.RULE {lhs=symbolMake ID,rhs=rhs,
code=code,prec=prec})
RHS_LIST
) end
@@ -2066,7 +2066,7 @@
fun get(a::x, y) = (a, (x,y))
| get(nil, nil) = raise Empty
| get(nil, y) = get(rev y, nil)
- fun put(a,(x,y)) = (x,a::y)
+ fun put(a,(x,y)) = (x,a::y)
end
type ('a,'b) elem = (state * ('a * 'b * 'b))
@@ -2111,7 +2111,7 @@
(println "Parse: state stack:";
printStack(stack, 0);
print(" state="
- ^ showState state
+ ^ showState state
^ " next="
^ showTerminal term
^ " action="
@@ -3143,12 +3143,12 @@
fun makeLexer yyinput =
let
- val yyb = ref "\n" (* buffer *)
+ val yyb = ref "\n" (* buffer *)
val yybl = ref 1 (*buffer length *)
- val yybufpos = ref 1 (* location of next character to use *)
- val yygone = ref 1 (* position in file of beginning of buffer *)
- val yydone = ref false (* eof found yet? *)
- val yybegin = ref 1 (*Current 'start state' for lexer *)
+ val yybufpos = ref 1 (* location of next character to use *)
+ val yygone = ref 1 (* position in file of beginning of buffer *)
+ val yydone = ref false (* eof found yet? *)
+ val yybegin = ref 1 (*Current 'start state' for lexer *)
val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
yybegin := x
@@ -3188,13 +3188,13 @@
| 127 => (Add yytext; YYBEGIN CODE; continue())
| 129 => (Add yytext; continue())
| 131 => (Add yytext; error inputSource (!lineno) "unclosed string";
- inc lineno; YYBEGIN CODE; continue())
+ inc lineno; YYBEGIN CODE; continue())
| 134 => (Add yytext; continue())
| 137 => (Add yytext; continue())
| 14 => (YYBEGIN A; HEADER (concat (rev (!text)),!lineno,!lineno))
| 140 => (Add yytext;
if substring(yytext,1,1)="\n" then inc lineno else ();
- YYBEGIN F; continue())
+ YYBEGIN F; continue())
| 143 => (Add yytext; continue())
| 145 => (Add yytext; YYBEGIN STRING; continue())
| 147 => (Add yytext; error inputSource (!lineno) "unclosed string";
@@ -3243,7 +3243,7 @@
in if l = !yybl then
if trans = #trans(Vector.sub(Internal.tab,0))
then action(l,NewAcceptingLeaves
-) else let val newchars= if !yydone then "" else yyinput 1024
+) else let val newchars= if !yydone then "" else yyinput 1024
in if (size newchars)=0
then (yydone := true;
if (l=i0) then UserDeclarations.eof yyarg
@@ -3450,7 +3450,7 @@
*)
functor ListOrdSet(B : sig type elem
- val gt : elem * elem -> bool
+ val gt : elem * elem -> bool
val eq : elem * elem -> bool
end ) : ORDSET =
@@ -3468,17 +3468,17 @@
if elem_gt(key,h) then h::(f t)
else if elem_eq(key,h) then key::t
else key::l
- | f nil = [key]
+ | f nil = [key]
in f s
end
val select_arb = fn nil => raise Select_arb
- | a::b => a
+ | a::b => a
val exists = fn (key,s) =>
let fun f (h::t) = if elem_gt(key,h) then f t
else elem_eq(h,key)
- | f nil = false
+ | f nil = false
in f s
end
@@ -3486,7 +3486,7 @@
let fun f (h::t) = if elem_gt(key,h) then f t
else if elem_eq(h,key) then SOME h
else NONE
- | f nil = NONE
+ | f nil = NONE
in f s
end
@@ -3594,7 +3594,7 @@
functor RbOrdSet (B : sig type elem
val eq : (elem*elem) -> bool
- val gt : (elem*elem) -> bool
+ val gt : (elem*elem) -> bool
end
) : ORDSET =
struct
@@ -4006,7 +4006,7 @@
in fn (ITEM {rule=RULE {lhs,rhs,rulenum,num,...},
dot,rhsAfter,...}) =>
(prNonterm lhs; print " : "; showRhs(rhs,dot);
- case rhsAfter
+ case rhsAfter
of nil => (print " (reduce by rule ";
printInt rulenum;
print ")")
@@ -4021,8 +4021,8 @@
in fn (CORE (items,state)) =>
(print "state ";
print (Int.toString state);
- print ":\n\n";
- app (fn i => (print "\t";
+ print ":\n\n";
+ app (fn i => (print "\t";
prItem i; print "\n")) items;
print "\n")
end
@@ -4150,8 +4150,8 @@
let fun add_item (a as RULE{rhs=symbol::rest,...},r) =
let val item = ITEM{rule=a,dot=1,rhsAfter=rest}
in Assoc.insert((symbol,case Assoc.find (symbol,r)
- of SOME l => item::l
- | NONE => [item]),r)
+ of SOME l => item::l
+ | NONE => [item]),r)
end
| add_item (_,r) = r
in List.foldr add_item Assoc.empty (produces nt)
@@ -4172,7 +4172,7 @@
order *)
fun closureNonterms a =
let val nonterms = getNonterms a
- in List.foldr (fn (nt,r) =>
+ in List.foldr (fn (nt,r) =>
NtList.union(nontermClosure nt,r))
nonterms nonterms
end
@@ -4345,12 +4345,12 @@
in {nodes=nodes,
edges=Array.fromList (rev edge_list),
nodeArray = Array.fromList nodes
- }
+ }
end
| f (nodes,node_list,edge_list,nil,y,num) =
f (nodes,node_list,edge_list,rev y,nil,num)
| f (nodes,node_list,edge_list,h::t,y,num) =
- let val (nodes,edges,future,num) =
+ let val (nodes,edges,future,num) =
List.foldr add_goto (nodes,[],y,num) (shifts h)
in f (nodes,h::node_list,
edges::edge_list,t,future,num)
@@ -4361,7 +4361,7 @@
val initialItemList = map makeItem (produces start)
val orderedItemList =
List.foldr Core.insert [] initialItemList
- val initial = CORE (orderedItemList,0)
+ val initial = CORE (orderedItemList,0)
in f(empty,nil,nil,[initial],nil,1)
end,
produces=produces,
@@ -4462,7 +4462,7 @@
val items = List.foldr add_rule [] rules
val nullable = array(nonterms,false)
val f = fn ((NT i,nil),(l,_)) => (update(nullable,i,true);
- (l,true))
+ (l,true))
| (a as (lhs,(h::t)),(l,change)) =>
case (nullable sub h)
of false => (a::l,change)
@@ -4477,10 +4477,10 @@
fun scanRhs addSymbol =
let fun f (nil,result) = result
- | f ((sym as NONTERM nt) :: rest,result) =
+ | f ((sym as NONTERM nt) :: rest,result) =
if nullable nt then f (rest,addSymbol(sym,result))
else addSymbol(sym,result)
- | f ((sym as TERM _) :: _,result) = addSymbol(sym,result)
+ | f ((sym as TERM _) :: _,result) = addSymbol(sym,result)
in f
end
@@ -4525,7 +4525,7 @@
fun first nt =
List.foldr (fn (a,r) => TermSet.union(r,first1 a))
- [] (NontermSet.closure (NontermSet.singleton nt, starters1))
+ [] (NontermSet.closure (NontermSet.singleton nt, starters1))
val first = nontermMemo(first)
@@ -4692,10 +4692,10 @@
in f l
end
- val check_rule = fn (rule as RULE {num,...}) =>
+ val check_rule = fn (rule as RULE {num,...}) =>
let val pos = rule_pos rule
in (print "look_pos: ";
- prRule rule;
+ prRule rule;
print " = ";
printInt pos;
print "\n";
@@ -4767,7 +4767,7 @@
fn (rule as RULE {rhs=nil,...}) =>
[findRef(state,ITEM{rule=rule,dot=0,rhsAfter=nil})]
| (rule as RULE {rhs=sym::rest,...}) =>
- let val pos = Int.max(look_pos rule,1)
+ let val pos = Int.max(look_pos rule,1)
fun scan'(state,nil,pos,result) =
findRef(state,ITEM{rule=rule,
dot=pos,
@@ -4986,7 +4986,7 @@
have a derivation S =+=> .C x, where x is nullable *)
if dot >= (look_pos rule) then
- case item
+ case item
of ITEM{rhsAfter=NONTERM b :: _,...} =>
(case add_nonterm_lookahead(b,state)
of nil => ()
@@ -5058,10 +5058,10 @@
infix 9 sub
structure Core = mkCore(structure IntGrammar = IntGrammar)
structure CoreUtils = mkCoreUtils(structure IntGrammar = IntGrammar
- structure Core = Core)
+ structure Core = Core)
structure Graph = mkGraph(structure IntGrammar = IntGrammar
- structure Core = Core
- structure CoreUtils = CoreUtils)
+ structure Core = Core
+ structure CoreUtils = CoreUtils)
structure Look = mkLook(structure IntGrammar = IntGrammar)
structure Lalr = mkLalr(structure IntGrammar = IntGrammar
structure Core = Core
@@ -5197,7 +5197,7 @@
let val merge = fn state =>
let fun f (j as (pair1 as (T t1,action1)) :: r1,
k as (pair2 as (T t2,action2)) :: r2,result,errs) =
- if t1 < t2 then f(r1,k,pair1::result,errs)
+ if t1 < t2 then f(r1,k,pair1::result,errs)
else if t1 > t2 then f(j,r2,pair2::result,errs)
else let val REDUCE num1 = action1
val REDUCE num2 = action2
@@ -5248,11 +5248,11 @@
f(r1,r2,pair1 :: result,
SR (term1,state,rulenum)::errs)
end
- | f (nil,nil,result,errs) = (rev result,errs)
- | f (nil,h::t,result,errs) =
- f (nil,t,h::result,errs)
- | f (h::t,nil,result,errs) =
- f (t,nil,h::result,errs)
+ | f (nil,nil,result,errs) = (rev result,errs)
+ | f (nil,h::t,result,errs) =
+ f (nil,t,h::result,errs)
+ | f (h::t,nil,result,errs) =
+ f (t,nil,h::result,errs)
in f(shifts,reduces,nil,nil)
end
@@ -5306,10 +5306,10 @@
List.foldr (mergeReduces tableState) (nil,nil) l
val (actions,errs2) =
mergeShifts(tableState,shifts,reduces)
- in ((pruneError actions,ERROR),gotos,errs1@errs2)
+ in ((pruneError actions,ERROR),gotos,errs1@errs2)
end
end
- end
+ end
val mkTable = fn (grammar as GRAMMAR{rules,terms,nonterms,start,
precedence,termToString,noshift,
@@ -5366,14 +5366,14 @@
end
val startErrs =
- List.foldr (fn (RULE {rhs,rulenum,...},r) =>
+ List.foldr (fn (RULE {rhs,rulenum,...},r) =>
if (exists (fn NONTERM a => a=start
| _ => false) rhs)
then START rulenum :: r
else r) [] rules
val nonshiftErrs =
- List.foldr (fn (RULE {rhs,rulenum,...},r) =>
+ List.foldr (fn (RULE {rhs,rulenum,...},r) =>
(List.foldr (fn (nonshift,r) =>
if (exists (fn TERM a => a=nonshift
| _ => false) rhs)
@@ -5395,7 +5395,7 @@
else NOT_REDUCED i :: r)
else r
in scan(Array.length ruleReduced-1,nil)
- end handle Subscript =>
+ end handle Subscript =>
(if DEBUG then
print "rules not numbered correctly!"
else (); nil)
@@ -5420,7 +5420,7 @@
end,
fn print =>
- let val printCore =
+ let val printCore =
prCore(symbolToString,nontermToString,print)
val core = Graph.core graph
in fn STATE state =>
@@ -5455,9 +5455,9 @@
datatype symbol = TERM of term | NONTERM of nonterm
datatype grammar = GRAMMAR of
{rules: {lhs: nonterm,
- rhs: symbol list,
- precedence: int option,
- rulenum: int} list,
+ rhs: symbol list,
+ precedence: int option,
+ rulenum: int} list,
noshift : term list,
eop : term list,
terms: int,
@@ -5474,7 +5474,7 @@
open Grammar
datatype rule = RULE of
- {lhs: nonterm,
+ {lhs: nonterm,
rhs: symbol list,
num: int,(* internal # assigned by coreutils *)
rulenum: int,
@@ -5528,7 +5528,7 @@
let val printRule =
let val prRule = prRule a
in fn {lhs,rhs,precedence,rulenum} =>
- (prRule (RULE {lhs=lhs,rhs=rhs,num=0,
+ (prRule (RULE {lhs=lhs,rhs=rhs,num=0,
rulenum=rulenum, precedence=precedence});
print "\n")
end
@@ -5563,12 +5563,12 @@
let val printInt = print o (Int.toString : int -> string)
in fn (SHIFT (STATE i)) =>
(print "\tshift ";
- printInt i;
- print "\n")
+ printInt i;
+ print "\n")
| (REDUCE rulenum) =>
(print "\treduce by rule ";
- printInt rulenum;
- print "\n")
+ printInt rulenum;
+ print "\n")
| ACCEPT => print "\taccept\n"
| ERROR => print "\terror\n"
end
@@ -5583,7 +5583,7 @@
end
val mkPrintTermAction = fn (printTerm,print) =>
- let val printAction = mkPrintAction print
+ let val printAction = mkPrintAction print
in fn (term,action) =>
(print "\t";
printTerm term;
@@ -6030,14 +6030,14 @@
We then return the length of R, R, and the list that results from
permuting SE by P.
- *)
+ *)
type entry = A.entry
val gt = fn ((a,_),(b,_)) => A.gt(a,b)
structure Sort = MergeSortFun(type entry = A.entry * int
- val gt = gt)
+ val gt = gt)
val assignIndex =
fn l =>
let fun loop (index,nil) = nil
@@ -6218,7 +6218,7 @@
val lineLength = 70
(* record type describing names of structures in the program being
- generated *)
+ generated *)
datatype names = NAMES
of {miscStruct : string, (* Misc{n} struct name *)
@@ -6234,7 +6234,7 @@
(* which holds parser data *)
dataSig:string (* signature for this structure *)
- }
+ }
val DEBUG = true
exception Semantic
@@ -6266,7 +6266,7 @@
terms : Grammar.term list}
structure SymbolHash = Hash(type elem = string
- val gt = (op >) : string*string -> bool)
+ val gt = (op >) : string*string -> bool)
structure TermTable = Table(type key = Grammar.term
val gt = fn (T i,T j) => i > j)
@@ -6490,7 +6490,7 @@
PAPP(valueStruct^"."^ntvoid,
PVAR symNum)
else WILD)
- else
+ else
PAPP(valueStruct^"."^symString,
if num=1 andalso pureActions
then AS(PVAR symNum,PVAR symString)
@@ -6571,7 +6571,7 @@
(printCase(rulenum,rule); say "| ")) rules;
sayln "_ => raise (mlyAction i392)")
- in say "structure ";
+ in say "structure ";
say actionsStruct;
sayln " =";
sayln "struct ";
@@ -6941,7 +6941,7 @@
val entries = ref 0 (* save number of action table entries here *)
in let val result = TextIO.openOut (spec ^ ".sml")
- val sigs = TextIO.openOut (spec ^ ".sig")
+ val sigs = TextIO.openOut (spec ^ ".sig")
val pos = ref 0
val pr = fn s => TextIO.output(result,s)
val say = fn s => let val l = String.size s
@@ -6963,7 +6963,7 @@
in f 0
end
val values = VALS {say=say,sayln=sayln,saydot=saydot,
- termvoid=termvoid, ntvoid = ntvoid,
+ termvoid=termvoid, ntvoid = ntvoid,
hasType=hasType, pos_type = pos_type,
arg_type = #2 arg_decl,
start=start,pureActions=pureActions,
Modified: mlton/trunk/benchmark/tests/model-elimination.sml
===================================================================
--- mlton/trunk/benchmark/tests/model-elimination.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/model-elimination.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -893,8 +893,8 @@
* University of Southampton
* Address: Electronics & Computer Science
* University of Southampton
- * Southampton SO9 5NH
- * Great Britian
+ * Southampton SO9 5NH
+ * Great Britian
* E-mail: sra@ecs.soton.ac.uk
*
* Comments:
Modified: mlton/trunk/benchmark/tests/raytrace.sml
===================================================================
--- mlton/trunk/benchmark/tests/raytrace.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/raytrace.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -632,13 +632,13 @@
type int = Int.int
fun makeLexer (yyinput: int -> string) =
-let val yygone0:int=1
- val yyb = ref "\n" (* buffer *)
- val yybl: int ref = ref 1 (*buffer length *)
- val yybufpos: int ref = ref 1 (* location of next character to use *)
- val yygone: int ref = ref yygone0 (* position in file of beginning of buffer *)
- val yydone = ref false (* eof found yet? *)
- val yybegin: int ref = ref 1 (*Current 'start state' for lexer *)
+let val yygone0:int=1
+ val yyb = ref "\n" (* buffer *)
+ val yybl: int ref = ref 1 (*buffer length *)
+ val yybufpos: int ref = ref 1 (* location of next character to use *)
+ val yygone: int ref = ref yygone0 (* position in file of beginning of buffer *)
+ val yydone = ref false (* eof found yet? *)
+ val yybegin: int ref = ref 1 (*Current 'start state' for lexer *)
val YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>
yybegin := x
@@ -693,7 +693,7 @@
in if l = !yybl then
if trans = #trans(Vector.sub(Internal.tab,0))
then action(l,NewAcceptingLeaves
-) else let val newchars= if !yydone then "" else yyinput 1024
+) else let val newchars= if !yydone then "" else yyinput 1024
in if (String.size newchars)=0
then (yydone := true;
if (l=i0) then UserDeclarations.eof yyarg
@@ -1920,7 +1920,7 @@
orelse abs_float (#3 x') - 1.0 < epsilon
then nz
else if abs_float (#1 x') < epsilon
- orelse abs_float (#1 x') - 1.0 < epsilon
+ orelse abs_float (#1 x') - 1.0 < epsilon
then nx
else ny
| SPlane (_, n) =>
Modified: mlton/trunk/benchmark/tests/simple.sml
===================================================================
--- mlton/trunk/benchmark/tests/simple.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/simple.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -90,15 +90,15 @@
*)
val grid_size = ((2,grid_max), (2,grid_max))
-fun north (k,l) = (k-1,l)
-fun south (k,l) = (k+1,l)
+fun north (k,l) = (k-1,l)
+fun south (k,l) = (k+1,l)
fun east (k,l) = (k,l+1)
fun west (k,l) = (k,l-1)
val northeast = north o east
val southeast = south o east
-val northwest = north o west
+val northwest = north o west
val southwest = south o west
fun farnorth x = (north o north ) x
@@ -109,7 +109,7 @@
fun zone_A(k,l) = (k,l)
fun zone_B(k,l) = (k+1,l)
-fun zone_C(k,l) = (k+1,l+1)
+fun zone_C(k,l) = (k+1,l+1)
fun zone_D(k,l) = (k,l+1)
val zone_corner_northeast = north
@@ -117,23 +117,23 @@
fun zone_corner_southeast zone = zone
val zone_corner_southwest = west
-val ((kmin,kmax),(lmin,lmax)) = grid_size
-val dimension_all_nodes = ((kmin-1,kmax+1),(lmin-1,lmax+1))
+val ((kmin,kmax),(lmin,lmax)) = grid_size
+val dimension_all_nodes = ((kmin-1,kmax+1),(lmin-1,lmax+1))
fun for_all_nodes f =
for {from=kmin-1, step=1, to=kmax+1} (fn k =>
for {from=lmin-1, step=1, to=lmax+1} (fn l => f k l))
-val dimension_interior_nodes = ((kmin,kmax),(lmin,lmax))
+val dimension_interior_nodes = ((kmin,kmax),(lmin,lmax))
fun for_interior_nodes f =
for {from=kmin, step=1, to=kmax} (fn k =>
for {from=lmin, step=1, to=lmax} (fn l => f k l))
-val dimension_all_zones = ((kmin,kmax+1),(lmin,lmax+1))
+val dimension_all_zones = ((kmin,kmax+1),(lmin,lmax+1))
fun for_all_zones f =
for {from=kmin, step=1, to=kmax+1} (fn k =>
for {from=lmin, step=1, to=lmax+1} (fn l => f (k,l)))
-val dimension_interior_zones = ((kmin+1,kmax),(lmin+1,lmax))
+val dimension_interior_zones = ((kmin+1,kmax),(lmin+1,lmax))
fun for_interior_zones f =
for {from=kmin+1, step=1, to=kmax} (fn k =>
for {from=lmin+1, step=1, to=lmax} (fn l => f (k,l)))
@@ -250,8 +250,8 @@
let val (rax, zax) = (ra - rx, za - zx)
val (ryx, zyx) = (ry - rx, zy - zx)
val omega = 2.0*(rax*ryx + zax*zyx)/(ryx*ryx + zyx*zyx)
- val rb = rx - rax + omega*ryx
- val zb = zx - zax + omega*zyx
+ val rb = rx - rax + omega*ryx
+ val zb = zx - zax + omega*zyx
in (rb, zb)
end
@@ -318,7 +318,7 @@
*)
fun make_velocity((u,w),(r,z),p,q,alpha,rho,delta_t) =
let fun line_integral (p,z,node) : real =
- sub2(p,zone_A node)*(sub2(z,west node) - sub2(z,north node)) +
+ sub2(p,zone_A node)*(sub2(z,west node) - sub2(z,north node)) +
sub2(p,zone_B node)*(sub2(z,south node) - sub2(z,west node)) +
sub2(p,zone_C node)*(sub2(z,east node) - sub2(z,south node)) +
sub2(p,zone_D node)*(sub2(z,north node) - sub2(z,east node))
@@ -359,7 +359,7 @@
val s' = array2(dimension_all_zones, 0.0)
val rho' = array2(dimension_all_zones, 0.0)
fun interior_area zone =
- let val (area, vol) = zone_area_vol (x', zone)
+ let val (area, vol) = zone_area_vol (x', zone)
val density = sub2(rho,zone)*sub2(s,zone) / vol
in (area,vol,density)
end
@@ -386,7 +386,7 @@
* Artifical Viscosity (page 11)
*)
fun make_viscosity(p,(u',w'),(r',z'), alpha',rho') =
- let fun interior_viscosity zone =
+ let fun interior_viscosity zone =
let fun upper_del f =
0.5 * ((sub2(f,zone_corner_southeast zone) -
sub2(f,zone_corner_northeast zone)) +
@@ -397,7 +397,7 @@
sub2(f,zone_corner_southwest zone)) +
(sub2(f,zone_corner_northeast zone) -
sub2(f,zone_corner_northwest zone)))
- val xi = pow(upper_del r',2) + pow(upper_del z',2)
+ val xi = pow(upper_del r',2) + pow(upper_del z',2)
val eta = pow(lower_del r',2) + pow(lower_del z',2)
val upper_disc = (upper_del r')*(lower_del w') -
(upper_del z')*(lower_del u')
@@ -464,7 +464,7 @@
fun zonal_energy (rho_value, theta_value) =
let val (G, degree, rho_table, theta_table) =
- extract_energy_tables_from_constants
+ extract_energy_tables_from_constants
in polynomial(G, degree, rho_table, theta_table, rho_value, theta_value)
end
val dx = 0.000001
@@ -472,7 +472,7 @@
fun newton_raphson (f,x) =
- let fun iter (x,fx) =
+ let fun iter (x,fx) =
if fx > tiny then
let val fxdx = f(x+dx)
val denom = fxdx - fx
@@ -554,7 +554,7 @@
in if !Control.trace
then print ("\t\tmake_sigma:deltat = " ^ Real.toString deltat ^ "\n")
else ();
-(*** for_interior_zones(fn zone => update2(M,zone, interior_sigma zone)) **)
+(*** for_interior_zones(fn zone => update2(M,zone, interior_sigma zone)) **)
for_interior_zones(fn zone => (update2(M,zone, interior_sigma zone)
handle Overflow => ohandle zone));
M
@@ -574,14 +574,14 @@
val M = array2(dimension_all_zones, 0.0)
in
for_interior_zones(fn zone => update2(M,zone,interior_gamma zone));
- M
+ M
end
fun make_ab(theta, sigma, Gamma, preceding) =
let val a = array2(dimension_all_zones, 0.0)
val b = array2(dimension_all_zones, 0.0)
fun interior_ab zone =
- let val denom = sub2(sigma, zone) + sub2(Gamma, zone) +
+ let val denom = sub2(sigma, zone) + sub2(Gamma, zone) +
sub2(Gamma, preceding zone) *
(1.0 - sub2(a, preceding zone))
val nume1 = sub2(Gamma,zone)
@@ -612,28 +612,28 @@
end
fun compute_heat_conduction(theta_hat, deltat, x', alpha', rho') =
- let val sigma = make_sigma(deltat, rho', alpha')
+ let val sigma = make_sigma(deltat, rho', alpha')
val _ = if !Control.trace then print "\tdone make_sigma\n" else ()
- val cc = make_cc(alpha', theta_hat)
+ val cc = make_cc(alpha', theta_hat)
val _ = if !Control.trace then print "\tdone make_cc\n" else ()
- val Gamma_k = make_gamma( x', cc, north, east)
+ val Gamma_k = make_gamma( x', cc, north, east)
val _ = if !Control.trace then print "\tdone make_gamma\n" else ()
- val (a_k,b_k) = make_ab(theta_hat, sigma, Gamma_k, north)
+ val (a_k,b_k) = make_ab(theta_hat, sigma, Gamma_k, north)
val _ = if !Control.trace then print "\tdone make_ab\n" else ()
- val theta_k = make_theta(a_k,b_k,south,for_north_ward_interior_zones)
+ val theta_k = make_theta(a_k,b_k,south,for_north_ward_interior_zones)
val _ = if !Control.trace then print "\tdone make_theta\n" else ()
- val Gamma_l = make_gamma(x', cc, west, south)
+ val Gamma_l = make_gamma(x', cc, west, south)
val _ = if !Control.trace then print "\tdone make_gamma\n" else ()
- val (a_l,b_l) = make_ab(theta_k, sigma, Gamma_l, west)
+ val (a_l,b_l) = make_ab(theta_k, sigma, Gamma_l, west)
val _ = if !Control.trace then print "\tdone make_ab\n" else ()
- val theta_l = make_theta(a_l,b_l,east,for_west_ward_interior_zones)
+ val theta_l = make_theta(a_l,b_l,east,for_west_ward_interior_zones)
val _ = if !Control.trace then print "\tdone make_theta\n" else ()
in (theta_l, Gamma_k, Gamma_l)
end
Modified: mlton/trunk/benchmark/tests/smith-normal-form.sml
===================================================================
--- mlton/trunk/benchmark/tests/smith-normal-form.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/smith-normal-form.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -382,7 +382,7 @@
let val dim = 35
val big = Matrix.map (Matrix.make (dim, dim, f), IntInf.fromInt)
val entry = Matrix.fetch(smithNormalForm big, dim - 1, dim - 1)
-(* val _ = print (concat [IntInf.toString entry, "\n"]) *)
+(* val _ = print (concat [IntInf.toString entry, "\n"]) *)
in if entry = valOf (IntInf.fromString
"~1027954043102083189860753402541358641712697245")
then ()
Modified: mlton/trunk/benchmark/tests/tensor.sml
===================================================================
--- mlton/trunk/benchmark/tests/tensor.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/tensor.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -121,7 +121,7 @@
()
end
(*
- INDEX -Signature-
+ INDEX -Signature-
Indices are a enumerable finite set of data with an order and a map
to a continous nonnegative interval of integers. In the sample
@@ -465,7 +465,7 @@
*)
(*
- TENSOR - Signature -
+ TENSOR - Signature -
Polymorphic tensors of any type. With 'tensor' we denote a (mutable)
array of any rank, with as many indices as one wishes, and that may
@@ -713,7 +713,7 @@
*)
(*
- MONO_TENSOR - signature -
+ MONO_TENSOR - signature -
Monomorphic tensor of arbitrary data (not only numbers). Operations
should be provided to run the data in several ways, according to one
@@ -814,7 +814,7 @@
end
(*
- NUMBER - Signature -
+ NUMBER - Signature -
Guarantees a structure with a minimal number of mathematical operations
so as to build an algebraic structure named Tensor.
@@ -1018,7 +1018,7 @@
end
(*
- Complex(R) - Functor -
+ Complex(R) - Functor -
Provides support for complex numbers based on tuples. Should be
highly efficient as most operations can be inlined.
@@ -1489,7 +1489,7 @@
fun atanh x = ln ((1.0 + x) / sqrt(1.0 - x * x))
end
(*
- Complex(R) - Functor -
+ Complex(R) - Functor -
Provides support for complex numbers based on tuples. Should be
highly efficient as most operations can be inlined.
*)
@@ -2084,7 +2084,7 @@
li = i2*...*in
lj = j2*...*jn
*)
- fun do_fold_first a b c lk lj li =
+ fun do_fold_first a b c lk lj li =
let fun loopk (0, _, _, accum) = accum
| loopk (k, ia, ib, accum) =
let val delta = Number.*(Array.sub(a,ia),Array.sub(b,ib))
@@ -2369,7 +2369,7 @@
li = i2*...*in
lj = j2*...*jn
*)
- fun do_fold_first a b c lk lj li =
+ fun do_fold_first a b c lk lj li =
let fun loopk (0, _, _, accum) = accum
| loopk (k, ia, ib, accum) =
let val delta = Number.*(Array.sub(a,ia),Array.sub(b,ib))
Modified: mlton/trunk/benchmark/tests/tsp.sml
===================================================================
--- mlton/trunk/benchmark/tests/tsp.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/tsp.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -196,20 +196,20 @@
val (choice, minDist) = choose(4, tToN1+tToN2+p1ToP2, choice, minDist)
in
case choice
- of 1 => ( (* 1:p1,t t,p2 n2,n1 -- reverse 2! *)
+ of 1 => ( (* 1:p1,t t,p2 n2,n1 -- reverse 2! *)
reverse n2;
link (p1, t);
link (t, p2);
link (n2, n1))
- | 2 => ( (* 2:p1,t t,n2 p2,n1 -- OK *)
+ | 2 => ( (* 2:p1,t t,n2 p2,n1 -- OK *)
link (p1, t);
link (t, n2);
link (p2, n1))
- | 3 => ( (* 3:p2,t t,n1 p1,n2 -- OK *)
+ | 3 => ( (* 3:p2,t t,n1 p1,n2 -- OK *)
link (p2, t);
link (t, n1);
link (p1, n2))
- | 4 => ( (* 4:n1,t t,n2 p2,p1 -- reverse 1! *)
+ | 4 => ( (* 4:n1,t t,n2 p2,p1 -- reverse 1! *)
reverse n1;
link (n1, t);
link (t, n2);
@@ -358,11 +358,11 @@
structure T = Tree
- val m_e = 2.7182818284590452354
- val m_e2 = 7.3890560989306502274
- val m_e3 = 20.08553692318766774179
- val m_e6 = 403.42879349273512264299
- val m_e12 = 162754.79141900392083592475
+ val m_e = 2.7182818284590452354
+ val m_e2 = 7.3890560989306502274
+ val m_e3 = 20.08553692318766774179
+ val m_e6 = 403.42879349273512264299
+ val m_e12 = 162754.79141900392083592475
datatype axis = X_AXIS | Y_AXIS
Modified: mlton/trunk/benchmark/tests/tyan.sml
===================================================================
--- mlton/trunk/benchmark/tests/tyan.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/tyan.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -95,7 +95,7 @@
fun arrayoflists [] = arrayoflist []
| arrayoflists ([]::ls) = arrayoflists ls
| arrayoflists [l] = arrayoflist l
- | arrayoflists (ls as (obj0::_)::_) = let
+ | arrayoflists (ls as (obj0::_)::_) = let
val a = array1(revfold (fn (l,n) => length l + n) ls 0,obj0)
fun ins (i,[]) = i | ins (i,x::l) = (update1(a,i,x); ins(i+1,l))
fun insert (i,[]) = a | insert (i,l::ll) = insert(ins(i,l),ll)
@@ -159,7 +159,7 @@
* then when 1 = a = a1 n + a2 p, have a1 = inverse of n mod p
* note that it is not necessary to keep a2, b2 around.
*)
- fun gcd ((a,a1),(b,b1)) =
+ fun gcd ((a,a1),(b,b1)) =
if b=1 then (* by continued fraction expansion, 0<|b1|<p *)
if b1<0 then F(p+b1) else F b1
else let val q = a smlnj_div b
@@ -199,7 +199,7 @@
local
val andb = op &&
infix sub << >> andb
-(* val op << = Bits.lshift and op >> = Bits.rshift and op andb = Bits.andb
+(* val op << = Bits.lshift and op >> = Bits.rshift and op andb = Bits.andb
*)
in
@@ -270,9 +270,9 @@
| lcm (m,[]) = m
| lcm (u::us, v::vs) =
if u>=v then if (u andb ~65536)<v then u::lcm(us,vs)
- else u::lcm(us,v::vs)
+ else u::lcm(us,v::vs)
else if (v andb ~65536)<u then v::lcm(us,vs)
- else v::lcm(u::us,vs)
+ else v::lcm(u::us,vs)
in fn (M m,M m') => M (lcm (m,m')) end
val tryDivide = let
fun rev([],l) = l | rev(x::xs,l)=rev(xs,x::l)
@@ -436,7 +436,7 @@
structure P = struct
datatype poly = P of (F.field*M.mono) list (* descending mono order *)
-(*
+(*
fun show (P x) = (print "[ ";
app (fn (f, m) =>
(print "("; F.show f; print ","; M.show m; print ") ")) x;
@@ -463,7 +463,7 @@
Util.Less => (b,n) :: plus ((a,m)::ms,ns)
| Util.Greater => (a,m) :: plus (ms,(b,n)::ns)
| Util.Equal => let val c = F.add(a,b)
- in if F.isZero c then plus(ms,ns)
+ in if F.isZero c then plus(ms,ns)
else (c,m)::plus(ms,ns)
end
fun minus ([],p2) = neg p2
@@ -472,7 +472,7 @@
Util.Less => (F.negate b,n) :: minus ((a,m)::ms,ns)
| Util.Greater => (a,m) :: minus (ms,(b,n)::ns)
| Util.Equal => let val c = F.subtract(a,b)
- in if F.isZero c then minus(ms,ns)
+ in if F.isZero c then minus(ms,ns)
else (c,m)::minus(ms,ns)
end
fun termMult (a,m,p) =
@@ -565,7 +565,7 @@
fun dsp (a,m) = let
val s =
if M.deg m = 0 then F.display a
- else if F.equal(F.one,F.negate a) then "-" ^ M.display m
+ else if F.equal(F.one,F.negate a) then "-" ^ M.display m
else if F.equal(F.one,a) then M.display m
else F.display a ^ M.display m
in if substring(s,0,1)="-" then s else "+" ^ s end
@@ -662,7 +662,7 @@
else (inc usedPairs;
Util.insert(P.cons((F.one,m'),g'),M.deg mm+d,arr))
val buckets = MI.fold insert (MI.mkIdeal (MI.fold tag mi []))
- (array1(0,[]))
+ (array1(0,[]))
fun ins (~1,pairs) = pairs
| ins (i,pairs) = case sub1(buckets,i) of
[] => ins(i-1,pairs)
@@ -672,7 +672,7 @@
fun grobner fs = let
fun pr l = print (String.concat (l@["\n"]))
val fs = revfold (fn (f,fs) => Util.insert(f,P.deg f,fs))
- fs (array1(0,[]))
+ fs (array1(0,[]))
(* pairs at least as long as fs, so done when done w/ all pairs *)
val pairs = ref(array1(length1 fs,[]))
val mi = MI.mkEmpty()
@@ -792,7 +792,7 @@
fun term l = let
val (n,l) = case l of (Dig d::l) => nat(d,l) | _ => (1,l)
val (m,l) = mono(M.one,l)
- in ((F.coerceInt n,m),l) end
+ in ((F.coerceInt n,m),l) end
fun poly (p,[]) = p
| poly (p,l) = let
val (s,l) = case l of Sign s::l => (F.coerceInt s,l) | _ => (F.one,l)
@@ -975,7 +975,7 @@
(* val u5 = map G.parsePoly ["abcde-f5","a+b+c+d+e","ab+bc+cd+de+ea",
- * "abc+bcd+cde+dea+eab","abcd+bcde+cdea+deab+eabc"]
+ * "abc+bcd+cde+dea+eab","abcd+bcde+cdea+deab+eabc"]
*
* val u4 = map G.parsePoly ["abcd-e4","a+b+c+d","ab+bc+cd+da","abc+bcd+cda+dab"]
*
@@ -984,13 +984,13 @@
(* fun runit () =
* let
* val _ = (print "Enter fs, u7, u6, u5, or u4: ";
- * TextIO.flushOut TextIO.stdOut)
+ * TextIO.flushOut TextIO.stdOut)
* val s = TextIO.inputN(TextIO.stdIn,2)
* val data =
* if (s = "fs") then fs else if (s = "u7") then u7
* else if (s = "u6") then u6 else if (s = "u5") then u5
* else if (s = "u4") then u4 else
- * (print "no such data\n"; raise (Util.Impossible "no such data"))
+ * (print "no such data\n"; raise (Util.Impossible "no such data"))
* in
* gb data handle e => report e
* end
Modified: mlton/trunk/benchmark/tests/vliw.sml
===================================================================
--- mlton/trunk/benchmark/tests/vliw.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/vliw.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -337,7 +337,7 @@
datatype opcode =
FETCH of {immutable: bool, offset: int, ptr: reg, dst: reg}
(* dst := M[ptr+offset]
- if immutable then unaffected by any STORE
+ if immutable then unaffected by any STORE
other than through the allocptr *)
| STORE of {offset: int, src: reg, ptr: reg}
(* M[ptr+offset] := src *)
@@ -1537,7 +1537,7 @@
val s = Set.set(xsuccN(P, n))
handle NAMESETTONODESET =>
fail "NAMESETTONODESET"
- fun cs x = Set.member(xpred x, name_of n)
+ fun cs x = Set.member(xpred x, name_of n)
fun fs (x, b) = b andalso cs x
in
fold fs s true
@@ -1869,7 +1869,7 @@
end
fun move_test (P as (ns, n0, F):program, x:test, n:node, m:node) =
- if not (can_move_test(P, x, n, m)) then P
+ if not (can_move_test(P, x, n, m)) then P
else
let val foo =
mt_debug (fn () => "move_test" ^ name_of n ^ " " ^ name_of m)
@@ -1934,7 +1934,7 @@
fold updtl ([rmPredNode(n, name_of m), new_m] @ upt @ upf) P
val answer = np
val foo = mt_debug (fn () => "mtst done")
- val foo = cpsi("move_test leave", answer)
+ val foo = cpsi("move_test leave", answer)
in
answer
end
@@ -2245,7 +2245,7 @@
end
fun clean_up (P as (ns, n0, F):program) =
- let val foo = debug (fn () => "cleanup")
+ let val foo = debug (fn () => "cleanup")
val clos = closure(P, n0)
val (ns, n0, F) = clos
val l = (map name_of (Stringmap.extract ns))
@@ -2626,7 +2626,7 @@
val n0nm = Node.name_of n0
val nFnm = Node.name_of F
fun f n =
- let val s = Set.set (Node.succ(p, n))
+ let val s = Set.set (Node.succ(p, n))
val nm = Node.name_of n
val pre = if nm = n0nm then "->\t"
else "\t"
@@ -2926,11 +2926,11 @@
exec(MOVE{src=(s,_),dst=(d,_)})=
update((!Reg),d, (!Reg) sub s ) |
exec(LABEL {...})=
- () |
+ () |
exec(LABWORD {...}) =
- () |
+ () |
exec(WORD{...})=
- () |
+ () |
exec(JUMP {dst=(d,_),...})=
execjmp((!Reg) sub d) |
exec(ARITH {oper=opn,src1=(s1,_),src2=(s2,_),dst=(d,_)})=
@@ -3251,7 +3251,7 @@
dst=(labnum,_),...}::t,vt)=
if compare(comp,(!Reg) sub s1,(!Reg) sub s2)
then (IP:= !(findjmp_place(labnum)); flag:=false; dowr(t,vt) )
- else dowr(t,vt) |
+ else dowr(t,vt) |
dowr(h::t,vt)=dowr(t,vt)
;
Modified: mlton/trunk/benchmark/tests/zebra.sml
===================================================================
--- mlton/trunk/benchmark/tests/zebra.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/zebra.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -276,7 +276,7 @@
handle Inconsistent => ()
| Continue f => f ()
end
- val _ = loop () handle Done => ()
+ val _ = loop () handle Done => ()
val _ = if 3342 = !num
then ()
else raise Fail "bug"
Modified: mlton/trunk/benchmark/tests/zern.sml
===================================================================
--- mlton/trunk/benchmark/tests/zern.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/benchmark/tests/zern.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -582,7 +582,7 @@
(fn () =>
let val sum = F.array(ny,nx, 0.0)
val rpart = F.array(ny,nx, 0.0)
- val ipart = F.array(ny,nx, 0.0)
+ val ipart = F.array(ny,nx, 0.0)
val coefs = collect ncoefs (fn(x) => real(1 + x))
val zerns =
collect ncoefs
Modified: mlton/trunk/bin/clean
===================================================================
--- mlton/trunk/bin/clean 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/bin/clean 2005-08-21 18:31:31 UTC (rev 4020)
@@ -40,9 +40,9 @@
# This script removes all the junk files created when compiling with MLton's
# various -keep flags.
-#/bin/rm -f *.basis *.chunks *.const *.core-ml *.dot *.flat *.flow \
-# *.inline *.local-flatten *.mono *.o *.once-graph *.once-vars \
-# *.post-useless *.raise-to-jump *.redundant *.reg *.rep *.ssa \
-# *.sxml *.sxml.poly *.threshold[0-9] *.unused-args *.useless *.xml
+#/bin/rm -f *.basis *.chunks *.const *.core-ml *.dot *.flat *.flow \
+# *.inline *.local-flatten *.mono *.o *.once-graph *.once-vars \
+# *.post-useless *.raise-to-jump *.redundant *.reg *.rep *.ssa \
+# *.sxml *.sxml.poly *.threshold[0-9] *.unused-args *.useless *.xml
#
#/bin/rm -f *~ core mlmon.out
Modified: mlton/trunk/bin/mlton-script
===================================================================
--- mlton/trunk/bin/mlton-script 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/bin/mlton-script 2005-08-21 18:31:31 UTC (rev 4020)
@@ -30,7 +30,7 @@
done
if [ "$#" -gt 0 -a "$1" == "--" ]; then
shift
- else
+ else
echo '@MLton missing --'
exit 1
fi
@@ -64,24 +64,24 @@
fi
doit "$lib" \
- -cc "$gcc" \
+ -cc "$gcc" \
-cc-opt "-I$lib/include" \
- -cc-opt '-O1' \
- -cc-opt '-fno-strict-aliasing -fomit-frame-pointer -w' \
- -target-as-opt amd64 \
+ -cc-opt '-O1' \
+ -cc-opt '-fno-strict-aliasing -fomit-frame-pointer -w' \
+ -target-as-opt amd64 \
'-m32
- -mtune=opteron' \
- -target-cc-opt amd64 \
+ -mtune=opteron' \
+ -target-cc-opt amd64 \
'-m32
- -mtune=opteron' \
- -target-cc-opt darwin '-I/sw/include' \
- -target-cc-opt solaris \
+ -mtune=opteron' \
+ -target-cc-opt darwin '-I/sw/include' \
+ -target-cc-opt solaris \
'-Wa,-xarch=v8plusa
-fcall-used-g5
-fcall-used-g7
- -mcpu=ultrasparc' \
+ -mcpu=ultrasparc' \
-target-cc-opt sparc '-mv8 -m32' \
- -target-cc-opt x86 \
+ -target-cc-opt x86 \
'-fno-strength-reduce
-fschedule-insns
-fschedule-insns2
@@ -89,16 +89,16 @@
-malign-jumps=2
-malign-loops=2' \
-target-link-opt amd64 '-m32' \
- -target-link-opt cygwin '-lgmp' \
- -target-link-opt darwin "$darwinLinkOpts -lgmp" \
- -target-link-opt freebsd '-L/usr/local/lib/ -lgmp' \
- -target-link-opt linux '-lgmp' \
- -target-link-opt mingw \
- '-lgmp -lws2_32 -lkernel32 -lpsapi -lnetapi32' \
- -target-link-opt netbsd \
- '-Wl,-R/usr/pkg/lib -L/usr/local/lib/ -lgmp' \
- -target-link-opt openbsd '-L/usr/local/lib/ -lgmp' \
- -target-link-opt solaris '-lgmp -lnsl -lsocket -lrt' \
- -link-opt '-lgdtoa -lm' \
- -profile-exclude '<basis>' \
+ -target-link-opt cygwin '-lgmp' \
+ -target-link-opt darwin "$darwinLinkOpts -lgmp" \
+ -target-link-opt freebsd '-L/usr/local/lib/ -lgmp' \
+ -target-link-opt linux '-lgmp' \
+ -target-link-opt mingw \
+ '-lgmp -lws2_32 -lkernel32 -lpsapi -lnetapi32' \
+ -target-link-opt netbsd \
+ '-Wl,-R/usr/pkg/lib -L/usr/local/lib/ -lgmp' \
+ -target-link-opt openbsd '-L/usr/local/lib/ -lgmp' \
+ -target-link-opt solaris '-lgmp -lnsl -lsocket -lrt' \
+ -link-opt '-lgdtoa -lm' \
+ -profile-exclude '<basis>' \
"$@"
Modified: mlton/trunk/bin/regression
===================================================================
--- mlton/trunk/bin/regression 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/bin/regression 2005-08-21 18:31:31 UTC (rev 4020)
@@ -126,7 +126,7 @@
echo "\$(SML_LIB)/basis/basis.mlb
\$(SML_LIB)/basis/mlton.mlb
\$(SML_LIB)/basis/sml-nj.mlb
- ann
+ ann
\"allowFFI true\"
\"allowOverload true\"
\"nonexhaustiveMatch ignore\"
@@ -162,9 +162,9 @@
files="$files $f.[0-9][0-9].[cS]"
fi
gcc -o $f -w -O1 \
- -I "../build/lib/include" \
- -L"../build/lib/$crossTarget" \
- -L/usr/pkg/lib \
+ -I "../build/lib/include" \
+ -L"../build/lib/$crossTarget" \
+ -L/usr/pkg/lib \
-L/usr/local/lib \
$files $libs
;;
@@ -196,7 +196,7 @@
esac
done
if [ "$cross" = 'yes' -o "$runOnly" = 'yes' -o "$short" = 'yes' ]; then
- exit 0
+ exit 0
fi
mmake clean >/dev/null
cd $src/benchmark/tests
@@ -210,9 +210,9 @@
*)
echo "testing $f"
echo "val _ = Main.doit 0" | cat $f.sml - > $tmpf.sml
- $mlton -output $tmpf $flags \
+ $mlton -output $tmpf $flags \
-default-ann 'nonexhaustiveMatch ignore'\
- -default-ann 'redundantMatch ignore' \
+ -default-ann 'redundantMatch ignore' \
$tmpf.sml
if [ $? -ne 0 ]; then
compFail $f
Modified: mlton/trunk/bytecode/interpret.c
===================================================================
--- mlton/trunk/bytecode/interpret.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/bytecode/interpret.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -8,7 +8,7 @@
#include "platform.h"
#include <stdint.h>
#include "interpret.h"
-#include "c-chunk.h" // c-chunk.h must come before opcode.h because it
+#include "c-chunk.h" // c-chunk.h must come before opcode.h because it
// redefines some opcode symbols
#include "opcode.h"
@@ -35,9 +35,9 @@
//----------------------------------------------------------------------
#define regs(ty) \
- int ty##RegI; \
- extern ty global##ty[]; \
- static ty ty##VReg[1000]; \
+ int ty##RegI; \
+ extern ty global##ty[]; \
+ static ty ty##VReg[1000]; \
ty ty##Reg[1000]
extern Pointer globalPointer[];
@@ -59,12 +59,12 @@
#define R(ty, i) (ty##VReg [i])
-#define quotRem1(qr, size) \
+#define quotRem1(qr, size) \
Word##size WordS##size##_##qr (Word##size w1, Word##size w2);
-#define quotRem2(qr) \
+#define quotRem2(qr) \
quotRem1 (qr, 8) \
- quotRem1 (qr, 16) \
- quotRem1 (qr, 32) \
+ quotRem1 (qr, 16) \
+ quotRem1 (qr, 32) \
quotRem1 (qr, 64)
quotRem2 (quot)
quotRem2 (rem)
@@ -73,16 +73,16 @@
//----------------------------------------------------------------------
-#define Fetch(t, z) \
- do { \
- z = *(t*)pc; \
- if (DEBUG or disassemble) { \
- if (#z == "label") \
- fprintf (stderr, " %s", offsetToLabel[z]); \
- else if (#z != "opc") \
+#define Fetch(t, z) \
+ do { \
+ z = *(t*)pc; \
+ if (DEBUG or disassemble) { \
+ if (#z == "label") \
+ fprintf (stderr, " %s", offsetToLabel[z]); \
+ else if (#z != "opc") \
fprintf (stderr, " %d", (int)z); \
- } \
- pc += sizeof (t); \
+ } \
+ pc += sizeof (t); \
} while (0)
enum {
@@ -94,136 +94,136 @@
#define StoreReg(t, z) maybe PushReg(t) = z
-#define loadStoreGen(mode, t, t2, z) \
- switch (MODE_##mode) { \
- case MODE_load: \
- StoreReg (t2, (t2)z); \
- break; \
+#define loadStoreGen(mode, t, t2, z) \
+ switch (MODE_##mode) { \
+ case MODE_load: \
+ StoreReg (t2, (t2)z); \
+ break; \
case MODE_store: \
- maybe z = (t) (PopReg (t2)); \
- break; \
+ maybe z = (t) (PopReg (t2)); \
+ break; \
}
#define loadStore(mode, t, z) loadStoreGen(mode, t, t, z)
-#define loadStoreArrayOffset(mode, ty) \
- case opcodeSymOfTy2 (ty, mode##ArrayOffset): \
- { \
+#define loadStoreArrayOffset(mode, ty) \
+ case opcodeSymOfTy2 (ty, mode##ArrayOffset): \
+ { \
ArrayOffset arrayOffset; \
- Pointer base; \
- Word32 index; \
- Scale scale; \
- Fetch (ArrayOffset, arrayOffset); \
- Fetch (Scale, scale); \
- if (disassemble) goto mainLoop; \
+ Pointer base; \
+ Word32 index; \
+ Scale scale; \
+ Fetch (ArrayOffset, arrayOffset); \
+ Fetch (Scale, scale); \
+ if (disassemble) goto mainLoop; \
index = PopReg (Word32); \
- base = (Pointer) (PopReg (Word32)); \
- loadStore (mode, ty, \
- *(ty*)(base + (index * scale) + arrayOffset)); \
- goto mainLoop; \
+ base = (Pointer) (PopReg (Word32)); \
+ loadStore (mode, ty, \
+ *(ty*)(base + (index * scale) + arrayOffset)); \
+ goto mainLoop; \
}
-#define loadStoreContents(mode, ty) \
- case opcodeSymOfTy2 (ty, mode##Contents): \
- if (disassemble) goto mainLoop; \
- { \
- Pointer base = (Pointer) (PopReg (Word32)); \
- loadStore (mode, ty, C (ty, base)); \
- goto mainLoop; \
+#define loadStoreContents(mode, ty) \
+ case opcodeSymOfTy2 (ty, mode##Contents): \
+ if (disassemble) goto mainLoop; \
+ { \
+ Pointer base = (Pointer) (PopReg (Word32)); \
+ loadStore (mode, ty, C (ty, base)); \
+ goto mainLoop; \
}
-#define loadStoreFrontier(mode) \
+#define loadStoreFrontier(mode) \
case opcodeSym (mode##Frontier): \
- if (disassemble) goto mainLoop; \
- loadStoreGen (mode, Pointer, Word32, Frontier); \
+ if (disassemble) goto mainLoop; \
+ loadStoreGen (mode, Pointer, Word32, Frontier); \
goto mainLoop;
-#define loadGCState() \
- case opcodeSym (loadGCState): \
- if (disassemble) goto mainLoop; \
- StoreReg (Word32, (Word32)&gcState); \
+#define loadGCState() \
+ case opcodeSym (loadGCState): \
+ if (disassemble) goto mainLoop; \
+ StoreReg (Word32, (Word32)&gcState); \
goto mainLoop;
-#define loadStoreGlobal(mode, ty, ty2) \
- case opcodeSymOfTy2 (ty, mode##Global): \
- { \
+#define loadStoreGlobal(mode, ty, ty2) \
+ case opcodeSymOfTy2 (ty, mode##Global): \
+ { \
GlobalIndex globalIndex; \
- Fetch (GlobalIndex, globalIndex); \
- if (disassemble) goto mainLoop; \
- loadStoreGen (mode, ty, ty2, G (ty, globalIndex)); \
- goto mainLoop; \
+ Fetch (GlobalIndex, globalIndex); \
+ if (disassemble) goto mainLoop; \
+ loadStoreGen (mode, ty, ty2, G (ty, globalIndex)); \
+ goto mainLoop; \
}
-#define loadStoreGPNR(mode) \
- case opcodeSym (mode##GPNR): \
- { \
+#define loadStoreGPNR(mode) \
+ case opcodeSym (mode##GPNR): \
+ { \
GlobalIndex globalIndex; \
- Fetch (GlobalIndex, globalIndex); \
- if (disassemble) goto mainLoop; \
- loadStoreGen (mode, Pointer, Word32, GPNR (globalIndex)); \
- goto mainLoop; \
+ Fetch (GlobalIndex, globalIndex); \
+ if (disassemble) goto mainLoop; \
+ loadStoreGen (mode, Pointer, Word32, GPNR (globalIndex)); \
+ goto mainLoop; \
}
-#define loadStoreOffset(mode, ty) \
- case opcodeSymOfTy2 (ty, mode##Offset): \
- { \
- Pointer base; \
- Offset offset; \
- Fetch (Offset, offset); \
- if (disassemble) goto mainLoop; \
- base = (Pointer) (PopReg (Word32)); \
- maybe loadStore (mode, ty, O (ty, base, offset)); \
- goto mainLoop; \
+#define loadStoreOffset(mode, ty) \
+ case opcodeSymOfTy2 (ty, mode##Offset): \
+ { \
+ Pointer base; \
+ Offset offset; \
+ Fetch (Offset, offset); \
+ if (disassemble) goto mainLoop; \
+ base = (Pointer) (PopReg (Word32)); \
+ maybe loadStore (mode, ty, O (ty, base, offset)); \
+ goto mainLoop; \
}
#define loadStoreRegister(mode, ty, ty2) \
- case opcodeSymOfTy2 (ty, mode##Register): \
- { \
- RegIndex regIndex; \
- Fetch (RegIndex, regIndex); \
- if (disassemble) goto mainLoop; \
- loadStoreGen (mode, ty, ty2, R (ty, regIndex)); \
- goto mainLoop; \
+ case opcodeSymOfTy2 (ty, mode##Register): \
+ { \
+ RegIndex regIndex; \
+ Fetch (RegIndex, regIndex); \
+ if (disassemble) goto mainLoop; \
+ loadStoreGen (mode, ty, ty2, R (ty, regIndex)); \
+ goto mainLoop; \
}
-#define loadStoreStackOffset(mode, ty) \
- case opcodeSymOfTy2 (ty, mode##StackOffset): \
- { \
+#define loadStoreStackOffset(mode, ty) \
+ case opcodeSymOfTy2 (ty, mode##StackOffset): \
+ { \
StackOffset stackOffset; \
- Fetch (StackOffset, stackOffset); \
- if (disassemble) goto mainLoop; \
- loadStore (mode, ty, S (ty, stackOffset)); \
- goto mainLoop; \
+ Fetch (StackOffset, stackOffset); \
+ if (disassemble) goto mainLoop; \
+ loadStore (mode, ty, S (ty, stackOffset)); \
+ goto mainLoop; \
}
-#define loadStoreStackTop(mode) \
+#define loadStoreStackTop(mode) \
case opcodeSym (mode##StackTop): \
- if (disassemble) goto mainLoop; \
- loadStoreGen (mode, Pointer, Word32, StackTop); \
+ if (disassemble) goto mainLoop; \
+ loadStoreGen (mode, Pointer, Word32, StackTop); \
goto mainLoop;
-#define loadWord(size) \
- case opcodeSymOfTy (Word, size, loadWord): \
- { \
- Word##size t0; \
- Fetch (Word##size, t0); \
- if (disassemble) goto mainLoop; \
- loadStore (load, Word##size, t0); \
- goto mainLoop; \
+#define loadWord(size) \
+ case opcodeSymOfTy (Word, size, loadWord): \
+ { \
+ Word##size t0; \
+ Fetch (Word##size, t0); \
+ if (disassemble) goto mainLoop; \
+ loadStore (load, Word##size, t0); \
+ goto mainLoop; \
}
#define opcode(ty, size, name) OPCODE_##ty##size##_##name
#define coerceOp(f, t) OPCODE_##f##_to##t
-#define binary(ty, f) \
- case opcodeSym (f): \
- if (disassemble) goto mainLoop; \
- { \
- ty t0 = PopReg (ty); \
- ty t1 = PopReg (ty); \
- PushReg (ty) = f (t0, t1); \
- goto mainLoop; \
+#define binary(ty, f) \
+ case opcodeSym (f): \
+ if (disassemble) goto mainLoop; \
+ { \
+ ty t0 = PopReg (ty); \
+ ty t1 = PopReg (ty); \
+ PushReg (ty) = f (t0, t1); \
+ goto mainLoop; \
}
/* The bytecode interpreter relies on the fact that the overflow checking
@@ -231,124 +231,124 @@
* not overflow. When the result overflow, the interpreter pushes a zero on
* the stack for the result.
*/
-#define binaryCheck(ty, f) \
- case opcodeSym (f): \
- if (disassemble) goto mainLoop; \
- { \
- ty t0 = PopReg (ty); \
- ty t1 = PopReg (ty); \
- f (PushReg (ty), t0, t1, f##Overflow); \
- overflow = FALSE; \
- goto mainLoop; \
- f##Overflow: \
- PushReg (ty) = 0; /* overflow, push 0 */ \
+#define binaryCheck(ty, f) \
+ case opcodeSym (f): \
+ if (disassemble) goto mainLoop; \
+ { \
+ ty t0 = PopReg (ty); \
+ ty t1 = PopReg (ty); \
+ f (PushReg (ty), t0, t1, f##Overflow); \
+ overflow = FALSE; \
+ goto mainLoop; \
+ f##Overflow: \
+ PushReg (ty) = 0; /* overflow, push 0 */ \
overflow = TRUE; \
- goto mainLoop; \
+ goto mainLoop; \
}
-#define unaryCheck(ty, f) \
- case opcodeSym (f): \
- if (disassemble) goto mainLoop; \
- { \
- ty t0 = PopReg (ty); \
- f (PushReg (ty), t0, f##Overflow); \
- overflow = FALSE; \
- goto mainLoop; \
- f##Overflow: \
- PushReg (ty) = 0; /* overflow, push 0 */ \
+#define unaryCheck(ty, f) \
+ case opcodeSym (f): \
+ if (disassemble) goto mainLoop; \
+ { \
+ ty t0 = PopReg (ty); \
+ f (PushReg (ty), t0, f##Overflow); \
+ overflow = FALSE; \
+ goto mainLoop; \
+ f##Overflow: \
+ PushReg (ty) = 0; /* overflow, push 0 */ \
overflow = TRUE; \
- goto mainLoop; \
+ goto mainLoop; \
}
-#define coerce(f1, t1, f2, t2) \
- case coerceOp (f2, t2): \
- if (disassemble) goto mainLoop; \
- { \
- f1 t0 = PopReg (f1); \
+#define coerce(f1, t1, f2, t2) \
+ case coerceOp (f2, t2): \
+ if (disassemble) goto mainLoop; \
+ { \
+ f1 t0 = PopReg (f1); \
PushReg (t1) = f2##_to##t2 (t0); \
- goto mainLoop; \
+ goto mainLoop; \
}
-#define compare(ty, f) \
- case opcodeSym (f): \
- if (disassemble) goto mainLoop; \
- { \
- ty t0 = PopReg (ty); \
- ty t1 = PopReg (ty); \
- PushReg (Word32) = f (t0, t1); \
- goto mainLoop; \
+#define compare(ty, f) \
+ case opcodeSym (f): \
+ if (disassemble) goto mainLoop; \
+ { \
+ ty t0 = PopReg (ty); \
+ ty t1 = PopReg (ty); \
+ PushReg (Word32) = f (t0, t1); \
+ goto mainLoop; \
}
-#define shift(ty, f) \
- case opcodeSym (f): \
- if (disassemble) goto mainLoop; \
- { \
- ty w = PopReg (ty); \
- Word32 s = PopReg (Word32); \
- ty w2 = f (w, s); \
- PushReg (ty) = w2; \
- goto mainLoop; \
+#define shift(ty, f) \
+ case opcodeSym (f): \
+ if (disassemble) goto mainLoop; \
+ { \
+ ty w = PopReg (ty); \
+ Word32 s = PopReg (Word32); \
+ ty w2 = f (w, s); \
+ PushReg (ty) = w2; \
+ goto mainLoop; \
}
-#define unary(ty, f) \
- case opcodeSym (f): \
- if (disassemble) goto mainLoop; \
- { \
- ty t0 = PopReg (ty); \
- PushReg (ty) = f (t0); \
- goto mainLoop; \
+#define unary(ty, f) \
+ case opcodeSym (f): \
+ if (disassemble) goto mainLoop; \
+ { \
+ ty t0 = PopReg (ty); \
+ PushReg (ty) = f (t0); \
+ goto mainLoop; \
}
-#define Goto(l) \
- do { \
- maybe pc = code + l; \
- goto mainLoop; \
+#define Goto(l) \
+ do { \
+ maybe pc = code + l; \
+ goto mainLoop; \
} while (0)
-#define Switch(size) \
- case OPCODE_Switch##size: \
- { \
- Label label; \
+#define Switch(size) \
+ case OPCODE_Switch##size: \
+ { \
+ Label label; \
ProgramCounter lastCase; \
- Word##size test = 0; \
+ Word##size test = 0; \
Word16 numCases; \
\
- Fetch (Word16, numCases); \
+ Fetch (Word16, numCases); \
lastCase = pc + (4 + size/8) * numCases; \
- maybe test = PopReg (Word##size); \
- assertRegsEmpty (); \
- while (pc < lastCase) { \
- Word##size caseWord; \
- if (DEBUG or disassemble) \
- fprintf (stderr, "\n\t "); \
- Fetch (Word##size, caseWord); \
- if (DEBUG or disassemble) \
+ maybe test = PopReg (Word##size); \
+ assertRegsEmpty (); \
+ while (pc < lastCase) { \
+ Word##size caseWord; \
+ if (DEBUG or disassemble) \
+ fprintf (stderr, "\n\t "); \
+ Fetch (Word##size, caseWord); \
+ if (DEBUG or disassemble) \
fprintf (stderr, " =>"); \
- Fetch (Label, label); \
- if (not disassemble and test == caseWord) \
- Goto (label); \
- } \
- goto mainLoop; \
+ Fetch (Label, label); \
+ if (not disassemble and test == caseWord) \
+ Goto (label); \
+ } \
+ goto mainLoop; \
}
typedef char *String;
-#define Cache() \
- do { \
- frontier = gcState.frontier; \
- stackTop = gcState.stackTop; \
+#define Cache() \
+ do { \
+ frontier = gcState.frontier; \
+ stackTop = gcState.stackTop; \
} while (0)
-#define Flush() \
- do { \
- gcState.frontier = frontier; \
- gcState.stackTop = stackTop; \
+#define Flush() \
+ do { \
+ gcState.frontier = frontier; \
+ gcState.stackTop = stackTop; \
} while (0)
#define disp(ty) \
- for (i = 0; i < ty##RegI; ++i) \
- fprintf (stderr, "\n" #ty "Reg[%d] = 0x%08x", \
+ for (i = 0; i < ty##RegI; ++i) \
+ fprintf (stderr, "\n" #ty "Reg[%d] = 0x%08x", \
i, (uint)(ty##Reg[i]));
void displayRegs () {
@@ -417,19 +417,19 @@
Goto (label);
goto mainLoop;
}
- case opcodeSym (CallC):
- Fetch (CallCIndex, callCIndex);
+ case opcodeSym (CallC):
+ Fetch (CallCIndex, callCIndex);
unless (disassemble) {
Flush ();
- MLton_callC (callCIndex);
+ MLton_callC (callCIndex);
Cache ();
}
goto mainLoop;
- case opcodeSym (Goto):
+ case opcodeSym (Goto):
{
Label label;
Fetch (Label, label);
- Goto (label);
+ Goto (label);
}
loadStoreGPNR(load);
loadStoreGPNR(store);
@@ -441,19 +441,19 @@
Goto (label);
goto mainLoop;
}
- case opcodeSym (ProfileLabel):
- die ("ProfileLabel not implemented");
- case opcodeSym (Raise):
+ case opcodeSym (ProfileLabel):
+ die ("ProfileLabel not implemented");
+ case opcodeSym (Raise):
maybe stackTop = gcState.stackBottom + gcState.exnStack;
// fall through to Return.
- case opcodeSym (Return):
+ case opcodeSym (Return):
Goto (*(Label*)(StackTop - sizeof (Label)));
Switch(8);
Switch(16);
Switch(32);
Switch(64);
- case opcodeSym (Thread_returnToC):
- maybe goto done;
+ case opcodeSym (Thread_returnToC):
+ maybe goto done;
}
assert (FALSE);
done:
Modified: mlton/trunk/bytecode/interpret.h
===================================================================
--- mlton/trunk/bytecode/interpret.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/bytecode/interpret.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -13,7 +13,7 @@
#include "assert.h"
#define regs(ty) \
- extern int ty##RegI; \
+ extern int ty##RegI; \
extern ty ty##Reg[]
regs(Real32);
@@ -25,14 +25,14 @@
#undef regs
-#define assertRegsEmpty() \
- do { \
+#define assertRegsEmpty() \
+ do { \
assert (0 == Word8RegI); \
- assert (0 == Word16RegI); \
- assert (0 == Word32RegI); \
- assert (0 == Word64RegI); \
- assert (0 == Real32RegI); \
- assert (0 == Real64RegI); \
+ assert (0 == Word16RegI); \
+ assert (0 == Word32RegI); \
+ assert (0 == Word64RegI); \
+ assert (0 == Real32RegI); \
+ assert (0 == Real64RegI); \
} while (0)
struct NameOffsets {
Modified: mlton/trunk/bytecode/opcode.h
===================================================================
--- mlton/trunk/bytecode/opcode.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/bytecode/opcode.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -8,10 +8,10 @@
#ifndef _OPCODE_H_
#define _OPCODE_H_
-#define coercePrims() \
- coerce (Real32, Real64, Real32, Real64) \
+#define coercePrims() \
+ coerce (Real32, Real64, Real32, Real64) \
coerce (Real32, Word32, Real32, WordS32) \
- coerce (Real64, Real32, Real64, Real32) \
+ coerce (Real64, Real32, Real64, Real32) \
coerce (Real64, Word32, Real64, WordS32) \
coerce (Word16, Real32, WordS16, Real32) \
coerce (Word16, Real64, WordS16, Real64) \
@@ -20,115 +20,115 @@
coerce (Word32, Real32, WordS32, Real32) \
coerce (Word32, Real64, WordS32, Real64) \
coerce (Word32, Word64, WordS32, Word64) \
- coerce (Word8, Real32, WordS8, Real32) \
- coerce (Word8, Real64, WordS8, Real64) \
- coerce (Word8, Word16, WordS8, Word16) \
- coerce (Word8, Word32, WordS8, Word32) \
- coerce (Word8, Word64, WordS8, Word64) \
+ coerce (Word8, Real32, WordS8, Real32) \
+ coerce (Word8, Real64, WordS8, Real64) \
+ coerce (Word8, Word16, WordS8, Word16) \
+ coerce (Word8, Word32, WordS8, Word32) \
+ coerce (Word8, Word64, WordS8, Word64) \
coerce (Word16, Word32, WordU16, Word32) \
coerce (Word16, Word64, WordU16, Word64) \
- coerce (Word16, Word8, WordU16, Word8) \
+ coerce (Word16, Word8, WordU16, Word8) \
coerce (Word32, Word16, WordU32, Word16) \
coerce (Word32, Word64, WordU32, Word64) \
- coerce (Word32, Word8, WordU32, Word8) \
+ coerce (Word32, Word8, WordU32, Word8) \
coerce (Word64, Word16, WordU64, Word16) \
coerce (Word64, Word32, WordU64, Word32) \
- coerce (Word64, Word8, WordU64, Word8) \
- coerce (Word8, Word16, WordU8, Word16) \
- coerce (Word8, Word32, WordU8, Word32) \
+ coerce (Word64, Word8, WordU64, Word8) \
+ coerce (Word8, Word16, WordU8, Word16) \
+ coerce (Word8, Word32, WordU8, Word32) \
coerce (Word8, Word64, WordU8, Word64)
-#define loadStorePrimsOfTy(mode, ty) \
- loadStoreArrayOffset (mode, ty) \
- loadStoreContents (mode, ty) \
- loadStoreGlobal (mode, ty, ty) \
- loadStoreOffset (mode, ty) \
+#define loadStorePrimsOfTy(mode, ty) \
+ loadStoreArrayOffset (mode, ty) \
+ loadStoreContents (mode, ty) \
+ loadStoreGlobal (mode, ty, ty) \
+ loadStoreOffset (mode, ty) \
loadStoreRegister (mode, ty, ty) \
loadStoreStackOffset (mode, ty)
-#define loadStorePrims(mode) \
- loadStorePrimsOfTy (mode, Real32) \
- loadStorePrimsOfTy (mode, Real64) \
+#define loadStorePrims(mode) \
+ loadStorePrimsOfTy (mode, Real32) \
+ loadStorePrimsOfTy (mode, Real64) \
loadStorePrimsOfTy (mode, Word8) \
- loadStorePrimsOfTy (mode, Word16) \
- loadStorePrimsOfTy (mode, Word32) \
- loadStorePrimsOfTy (mode, Word64) \
- loadStoreGlobal (mode, Pointer, Word32) \
- loadStoreRegister (mode, Pointer, Word32) \
+ loadStorePrimsOfTy (mode, Word16) \
+ loadStorePrimsOfTy (mode, Word32) \
+ loadStorePrimsOfTy (mode, Word64) \
+ loadStoreGlobal (mode, Pointer, Word32) \
+ loadStoreRegister (mode, Pointer, Word32) \
loadStoreFrontier (mode) \
loadStoreStackTop (mode)
-#define realPrimsOfSize(size) \
- binary (Real##size, Real##size##_add) \
- binary (Real##size, Real##size##_div) \
+#define realPrimsOfSize(size) \
+ binary (Real##size, Real##size##_add) \
+ binary (Real##size, Real##size##_div) \
compare (Real##size, Real##size##_equal) \
- compare (Real##size, Real##size##_le) \
- compare (Real##size, Real##size##_lt) \
- binary (Real##size, Real##size##_mul) \
- unary (Real##size, Real##size##_neg) \
- unary (Real##size, Real##size##_round) \
+ compare (Real##size, Real##size##_le) \
+ compare (Real##size, Real##size##_lt) \
+ binary (Real##size, Real##size##_mul) \
+ unary (Real##size, Real##size##_neg) \
+ unary (Real##size, Real##size##_round) \
binary (Real##size, Real##size##_sub)
-#define wordPrimsOfSizeNoMul(size) \
- binary (Word##size, Word##size##_add) \
- binary (Word##size, Word##size##_andb) \
+#define wordPrimsOfSizeNoMul(size) \
+ binary (Word##size, Word##size##_add) \
+ binary (Word##size, Word##size##_andb) \
compare (Word##size, Word##size##_equal) \
- compare (Word##size, WordS##size##_lt) \
- compare (Word##size, WordU##size##_lt) \
- shift (Word##size, Word##size##_lshift) \
- binary (Word##size, WordS##size##_mul) \
- binary (Word##size, WordU##size##_mul) \
- unary (Word##size, Word##size##_neg) \
- unary (Word##size, Word##size##_notb) \
- binary (Word##size, Word##size##_orb) \
- binary (Word##size, WordS##size##_quot) \
- binary (Word##size, WordU##size##_quot) \
- binary (Word##size, WordS##size##_rem) \
- binary (Word##size, WordU##size##_rem) \
- shift (Word##size, Word##size##_rol) \
- shift (Word##size, Word##size##_ror) \
+ compare (Word##size, WordS##size##_lt) \
+ compare (Word##size, WordU##size##_lt) \
+ shift (Word##size, Word##size##_lshift) \
+ binary (Word##size, WordS##size##_mul) \
+ binary (Word##size, WordU##size##_mul) \
+ unary (Word##size, Word##size##_neg) \
+ unary (Word##size, Word##size##_notb) \
+ binary (Word##size, Word##size##_orb) \
+ binary (Word##size, WordS##size##_quot) \
+ binary (Word##size, WordU##size##_quot) \
+ binary (Word##size, WordS##size##_rem) \
+ binary (Word##size, WordU##size##_rem) \
+ shift (Word##size, Word##size##_rol) \
+ shift (Word##size, Word##size##_ror) \
shift (Word##size, WordS##size##_rshift) \
shift (Word##size, WordU##size##_rshift) \
- binary (Word##size, Word##size##_sub) \
- binary (Word##size, Word##size##_xorb) \
+ binary (Word##size, Word##size##_sub) \
+ binary (Word##size, Word##size##_xorb) \
binaryCheck (Word##size, WordS##size##_addCheck) \
binaryCheck (Word##size, WordU##size##_addCheck) \
- unaryCheck (Word##size, Word##size##_negCheck) \
+ unaryCheck (Word##size, Word##size##_negCheck) \
binaryCheck (Word##size, WordS##size##_subCheck) \
loadWord (size)
-#define wordPrimsOfSize(size) \
- wordPrimsOfSizeNoMul(size) \
+#define wordPrimsOfSize(size) \
+ wordPrimsOfSizeNoMul(size) \
binaryCheck (Word##size, WordS##size##_mulCheck) \
binaryCheck (Word##size, WordU##size##_mulCheck) \
-#define prims() \
- coercePrims () \
- loadGCState () \
- loadStorePrims (load) \
- loadStorePrims (store) \
- realPrimsOfSize (32) \
- realPrimsOfSize (64) \
- wordPrimsOfSize (8) \
- wordPrimsOfSize (16) \
- wordPrimsOfSize (32) \
+#define prims() \
+ coercePrims () \
+ loadGCState () \
+ loadStorePrims (load) \
+ loadStorePrims (store) \
+ realPrimsOfSize (32) \
+ realPrimsOfSize (64) \
+ wordPrimsOfSize (8) \
+ wordPrimsOfSize (16) \
+ wordPrimsOfSize (32) \
wordPrimsOfSizeNoMul (64)
-#define opcodes() \
- prims() \
+#define opcodes() \
+ prims() \
opcodeGen (BranchIfZero) \
- opcodeGen (CallC) \
+ opcodeGen (CallC) \
opcodeGen (Goto) \
- opcodeGen (loadGPNR) \
- opcodeGen (storeGPNR) \
- opcodeGen (JumpOnOverflow) \
+ opcodeGen (loadGPNR) \
+ opcodeGen (storeGPNR) \
+ opcodeGen (JumpOnOverflow) \
opcodeGen (ProfileLabel) \
- opcodeGen (Raise) \
- opcodeGen (Return) \
- opcodeGen (Switch8) \
- opcodeGen (Switch16) \
- opcodeGen (Switch32) \
- opcodeGen (Switch64) \
+ opcodeGen (Raise) \
+ opcodeGen (Return) \
+ opcodeGen (Switch8) \
+ opcodeGen (Switch16) \
+ opcodeGen (Switch32) \
+ opcodeGen (Switch64) \
opcodeGen (Thread_returnToC)
#define opcodeSym(z) OPCODE_##z
@@ -141,13 +141,13 @@
#define binaryCheck(ty, f) opcodeGen (f)
#define compare(ty, f) opcodeGen (f)
#define loadStoreArrayOffset(mode, ty) opcodeName2 (ty, mode##ArrayOffset)
-#define loadStoreContents(mode, ty) opcodeName2 (ty, mode##Contents)
+#define loadStoreContents(mode, ty) opcodeName2 (ty, mode##Contents)
#define loadStoreFrontier(mode) opcodeGen (mode##Frontier)
#define loadGCState() opcodeGen (loadGCState)
-#define loadStoreGlobal(mode, ty, ty2) opcodeName2 (ty, mode##Global)
-#define loadStoreOffset(mode, ty) opcodeName2 (ty, mode##Offset)
-#define loadStoreRegister(mode, ty, ty2) opcodeName2 (ty, mode##Register)
-#define loadStoreStackOffset(mode, ty) opcodeName2 (ty, mode##StackOffset)
+#define loadStoreGlobal(mode, ty, ty2) opcodeName2 (ty, mode##Global)
+#define loadStoreOffset(mode, ty) opcodeName2 (ty, mode##Offset)
+#define loadStoreRegister(mode, ty, ty2) opcodeName2 (ty, mode##Register)
+#define loadStoreStackOffset(mode, ty) opcodeName2 (ty, mode##StackOffset)
#define loadStoreStackTop(mode) opcodeGen (mode##StackTop)
#define loadWord(size) opcodeName (Word, size, loadWord)
#define shift(ty, f) opcodeGen (f)
Modified: mlton/trunk/doc/README
===================================================================
--- mlton/trunk/doc/README 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/doc/README 2005-08-21 18:31:31 UTC (rev 4020)
@@ -29,13 +29,13 @@
send mail to the MLton developers, use MLton@mlton.org.
doc directory contents:
- README this file
- changelog changelog
- cm2mlb/ a utility for producing ML Basis programs in SML/NJ
- cmcat/ a utility for producing whole programs in SML/NJ
- examples/ example SML programs
+ README this file
+ changelog changelog
+ cm2mlb/ a utility for producing ML Basis programs in SML/NJ
+ cmcat/ a utility for producing whole programs in SML/NJ
+ examples/ example SML programs
license/ license information
- mllex.ps.gz user guide for mllex lexer generator
- mlyacc.ps.gz user guide for mlyacc parser generator
- user-guide/ html user guide
+ mllex.ps.gz user guide for mllex lexer generator
+ mlyacc.ps.gz user guide for mlyacc parser generator
+ user-guide/ html user guide
user-guide.ps.gz user guide for MLton
Modified: mlton/trunk/doc/changelog
===================================================================
--- mlton/trunk/doc/changelog 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/doc/changelog 2005-08-21 18:31:31 UTC (rev 4020)
@@ -895,9 +895,9 @@
* 2002-03-27
- Regularization of options
- -g --> -degug {false|true}
- -h n --> -fixed-heap n
- -p --> -profile {false|true}
+ -g --> -degug {false|true}
+ -h n --> -fixed-heap n
+ -p --> -profile {false|true}
* 2002-03-22
- Set up the stubs so that MLton can be compiled in the standard basis
@@ -1181,7 +1181,7 @@
to the same label is turned into a direct jump.
- Improved CPS shrinker (Prim.apply) to handle constructors
A = A --> true
- A = B --> false
+ A = B --> false
A x = B y --> false
- Rewrote a lot of loops in the basis library to use inequalities instead of
equality for the loop termination test so that the (forthcoming) overflow
Modified: mlton/trunk/doc/license/README
===================================================================
--- mlton/trunk/doc/license/README 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/doc/license/README 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1,8 +1,8 @@
-package license use
--------------- ------------------------------ ------------
-MLton MLton-LICENSE (BSD-style)
+package license use
+-------------- ------------------------------ ------------
+MLton MLton-LICENSE (BSD-style)
-SML/NJ NJ-LICENSE (BSD-style) front-end mllex specification
+SML/NJ NJ-LICENSE (BSD-style) front-end mllex specification
front-end mlyacc specification
precedence parser
CM lexer and parser
@@ -14,8 +14,8 @@
CKit Library
mlnlffigen and MLNLFFI Library
-ML Kit MLKit-LICENSE (MIT) Path, Time, Date
+ML Kit MLKit-LICENSE (MIT) Path, Time, Date
-gdtoa gdtoa-LICENSE (BSD-style) Real binary <-> decimal conversions
+gdtoa gdtoa-LICENSE (BSD-style) Real binary <-> decimal conversions
-gmp gmp-LICENSE (LGPL) IntInf
+gmp gmp-LICENSE (LGPL) IntInf
Modified: mlton/trunk/include/bytecode-main.h
===================================================================
--- mlton/trunk/include/bytecode-main.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/include/bytecode-main.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -21,36 +21,36 @@
return *(Word32*)(MLton_bytecode.code + w - sizeof (Word32));
}
-#define Main(al, mg, mfs, mmc, pk, ps, ml) \
-void MLton_callFromC () { \
- int nextFun; \
- GC_state s; \
+#define Main(al, mg, mfs, mmc, pk, ps, ml) \
+void MLton_callFromC () { \
+ int nextFun; \
+ GC_state s; \
\
- if (DEBUG_CODEGEN) \
- fprintf (stderr, "MLton_callFromC() starting\n"); \
- s = &gcState; \
- s->savedThread = s->currentThread; \
- s->canHandle += 3; \
- /* Switch to the C Handler thread. */ \
- GC_switchToThread (s, s->callFromCHandler, 0); \
- nextFun = *(int*)(s->stackTop - WORD_SIZE); \
- MLton_Bytecode_interpret (&MLton_bytecode, nextFun); \
- GC_switchToThread (s, s->savedThread, 0); \
- s->savedThread = BOGUS_THREAD; \
- if (DEBUG_CODEGEN) \
- fprintf (stderr, "MLton_callFromC done\n"); \
-} \
-int main (int argc, char **argv) { \
- int nextFun; \
- Initialize (al, mg, mfs, mmc, pk, ps); \
- if (gcState.isOriginal) { \
- real_Init(); \
- nextFun = ml; \
+ if (DEBUG_CODEGEN) \
+ fprintf (stderr, "MLton_callFromC() starting\n"); \
+ s = &gcState; \
+ s->savedThread = s->currentThread; \
+ s->canHandle += 3; \
+ /* Switch to the C Handler thread. */ \
+ GC_switchToThread (s, s->callFromCHandler, 0); \
+ nextFun = *(int*)(s->stackTop - WORD_SIZE); \
+ MLton_Bytecode_interpret (&MLton_bytecode, nextFun); \
+ GC_switchToThread (s, s->savedThread, 0); \
+ s->savedThread = BOGUS_THREAD; \
+ if (DEBUG_CODEGEN) \
+ fprintf (stderr, "MLton_callFromC done\n"); \
+} \
+int main (int argc, char **argv) { \
+ int nextFun; \
+ Initialize (al, mg, mfs, mmc, pk, ps); \
+ if (gcState.isOriginal) { \
+ real_Init(); \
+ nextFun = ml; \
} else { \
- /* Return to the saved world */ \
+ /* Return to the saved world */ \
nextFun = *(int*)(gcState.stackTop - WORD_SIZE); \
- } \
- MLton_Bytecode_interpret (&MLton_bytecode, nextFun); \
+ } \
+ MLton_Bytecode_interpret (&MLton_bytecode, nextFun); \
}
#endif /* #ifndef _BYTECODE_MAIN_H */
Modified: mlton/trunk/include/c-chunk.h
===================================================================
--- mlton/trunk/include/c-chunk.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/include/c-chunk.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -58,39 +58,39 @@
#define IsInt(p) (0x3 & (int)(p))
#define BZ(x, l) \
- do { \
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "%s:%d: BZ(%d, %s)\n", \
- __FILE__, __LINE__, (x), #l); \
- if (0 == (x)) goto l; \
+ do { \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "%s:%d: BZ(%d, %s)\n", \
+ __FILE__, __LINE__, (x), #l); \
+ if (0 == (x)) goto l; \
} while (0)
-#define BNZ(x, l) \
- do { \
- if (DEBUG_CCODEGEN) \
+#define BNZ(x, l) \
+ do { \
+ if (DEBUG_CCODEGEN) \
fprintf (stderr, "%s:%d: BNZ(%d, %s)\n", \
- __FILE__, __LINE__, (x), #l); \
- if (x) goto l; \
+ __FILE__, __LINE__, (x), #l); \
+ if (x) goto l; \
} while (0)
-#define FlushFrontier() \
- do { \
- FrontierMem = Frontier; \
+#define FlushFrontier() \
+ do { \
+ FrontierMem = Frontier; \
} while (0)
-#define FlushStackTop() \
- do { \
- StackTopMem = StackTop; \
+#define FlushStackTop() \
+ do { \
+ StackTopMem = StackTop; \
} while (0)
-#define CacheFrontier() \
- do { \
- Frontier = FrontierMem; \
+#define CacheFrontier() \
+ do { \
+ Frontier = FrontierMem; \
} while (0)
-#define CacheStackTop() \
- do { \
- StackTop = StackTopMem; \
+#define CacheStackTop() \
+ do { \
+ StackTop = StackTopMem; \
} while (0)
/* ------------------------------------------------- */
@@ -99,63 +99,63 @@
#if (defined (__sun__) && defined (REGISTER_FRONTIER_STACKTOP))
#define Chunk(n) \
- DeclareChunk(n) { \
- struct cont cont; \
- register unsigned int frontier asm("g5"); \
+ DeclareChunk(n) { \
+ struct cont cont; \
+ register unsigned int frontier asm("g5"); \
int l_nextFun = nextFun; \
register unsigned int stackTop asm("g6");
#else
#define Chunk(n) \
- DeclareChunk(n) { \
- struct cont cont; \
- Pointer frontier; \
+ DeclareChunk(n) { \
+ struct cont cont; \
+ Pointer frontier; \
int l_nextFun = nextFun; \
Pointer stackTop;
#endif
-#define ChunkSwitch(n) \
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "%s:%d: entering chunk %d l_nextFun = %d\n", \
- __FILE__, __LINE__, n, l_nextFun); \
+#define ChunkSwitch(n) \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "%s:%d: entering chunk %d l_nextFun = %d\n", \
+ __FILE__, __LINE__, n, l_nextFun); \
CacheFrontier(); \
CacheStackTop(); \
- while (1) { \
- top: \
+ while (1) { \
+ top: \
switch (l_nextFun) {
#define EndChunk \
default: \
- /* interchunk return */ \
- nextFun = l_nextFun; \
- cont.nextChunk = (void*)nextChunks[nextFun]; \
- leaveChunk: \
+ /* interchunk return */ \
+ nextFun = l_nextFun; \
+ cont.nextChunk = (void*)nextChunks[nextFun]; \
+ leaveChunk: \
FlushFrontier(); \
FlushStackTop(); \
- return cont; \
- } /* end switch (l_nextFun) */ \
- } /* end while (1) */ \
+ return cont; \
+ } /* end switch (l_nextFun) */ \
+ } /* end while (1) */ \
} /* end chunk */
/* ------------------------------------------------- */
/* Calling SML from C */
/* ------------------------------------------------- */
-#define Thread_returnToC() \
- do { \
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "%s:%d: Thread_returnToC()\n", \
- __FILE__, __LINE__); \
- returnToC = TRUE; \
- return cont; \
+#define Thread_returnToC() \
+ do { \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "%s:%d: Thread_returnToC()\n", \
+ __FILE__, __LINE__); \
+ returnToC = TRUE; \
+ return cont; \
} while (0)
/* ------------------------------------------------- */
/* farJump */
/* ------------------------------------------------- */
-#define FarJump(n, l) \
- do { \
- PrepFarJump(n, l); \
+#define FarJump(n, l) \
+ do { \
+ PrepFarJump(n, l); \
goto leaveChunk; \
} while (0)
@@ -163,47 +163,47 @@
/* Stack */
/* ------------------------------------------------- */
-#define Push(bytes) \
- do { \
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "%s:%d: Push (%d)\n", \
- __FILE__, __LINE__, bytes); \
- StackTop += (bytes); \
- assert (StackBottom <= StackTop); \
+#define Push(bytes) \
+ do { \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "%s:%d: Push (%d)\n", \
+ __FILE__, __LINE__, bytes); \
+ StackTop += (bytes); \
+ assert (StackBottom <= StackTop); \
} while (0)
#define Return() \
- do { \
- l_nextFun = *(Word*)(StackTop - sizeof(Word)); \
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "%s:%d: Return() l_nextFun = %d\n", \
- __FILE__, __LINE__, l_nextFun); \
- goto top; \
+ do { \
+ l_nextFun = *(Word*)(StackTop - sizeof(Word)); \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "%s:%d: Return() l_nextFun = %d\n", \
+ __FILE__, __LINE__, l_nextFun); \
+ goto top; \
} while (0)
-#define Raise() \
- do { \
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "%s:%d: Raise\n", \
- __FILE__, __LINE__); \
- StackTop = StackBottom + ExnStack; \
- Return(); \
- } while (0) \
+#define Raise() \
+ do { \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "%s:%d: Raise\n", \
+ __FILE__, __LINE__); \
+ StackTop = StackBottom + ExnStack; \
+ Return(); \
+ } while (0) \
#if (defined __APPLE_CC__)
-#define DeclareProfileLabel(l) \
+#define DeclareProfileLabel(l) \
void l()
-#define ProfileLabel(l) \
+#define ProfileLabel(l) \
__asm__ __volatile__ (".globl _" #l "\n_" #l ":" : : )
#else
-#define DeclareProfileLabel(l) \
+#define DeclareProfileLabel(l) \
void l() __attribute__ ((alias (#l "_internal")))
-#define ProfileLabel(l) \
+#define ProfileLabel(l) \
__asm__ __volatile__ (#l "_internal:" : : )
#endif
@@ -212,35 +212,35 @@
/* Real */
/* ------------------------------------------------- */
-#define unaryReal(f, g) \
- Real64 g (Real64 x); \
- static inline Real64 Real64_##f (Real64 x) { \
- return g (x); \
- } \
- static inline Real32 Real32_##f (Real32 x) { \
+#define unaryReal(f, g) \
+ Real64 g (Real64 x); \
+ static inline Real64 Real64_##f (Real64 x) { \
+ return g (x); \
+ } \
+ static inline Real32 Real32_##f (Real32 x) { \
return (Real32)(Real64_##f ((Real64)x)); \
}
unaryReal(round, rint)
#undef unaryReal
#define binaryReal(f, g) \
- Real64 g (Real64 x, Real64 y); \
- static inline Real64 Real64_Math_##f (Real64 x, Real64 y) { \
+ Real64 g (Real64 x, Real64 y); \
+ static inline Real64 Real64_Math_##f (Real64 x, Real64 y) { \
return g (x, y); \
- } \
- static inline Real32 Real32_Math_##f (Real32 x, Real32 y) { \
+ } \
+ static inline Real32 Real32_Math_##f (Real32 x, Real32 y) { \
return (Real32)(Real64_Math_##f ((Real64)x, (Real64)y)); \
}
binaryReal(atan2, atan2)
#undef binaryReal
-#define unaryReal(f, g) \
- Real64 g (Real64 x); \
- static inline Real64 Real64_Math_##f (Real64 x) { \
- return g (x); \
- } \
- static inline Real32 Real32_Math_##f (Real32 x) { \
- return (Real32)(Real64_Math_##f ((Real64)x)); \
+#define unaryReal(f, g) \
+ Real64 g (Real64 x); \
+ static inline Real64 Real64_Math_##f (Real64 x) { \
+ return g (x); \
+ } \
+ static inline Real32 Real32_Math_##f (Real32 x) { \
+ return (Real32)(Real64_Math_##f ((Real64)x)); \
}
unaryReal(acos, acos)
unaryReal(asin, asin)
@@ -262,12 +262,12 @@
return (Real32)Real64_ldexp ((Real64)x, i);
}
-#define binaryReal(name, op) \
- static inline Real32 Real32_##name (Real32 x, Real32 y) { \
- return x op y; \
- } \
- static inline Real64 Real64_##name (Real64 x, Real64 y) { \
- return x op y; \
+#define binaryReal(name, op) \
+ static inline Real32 Real32_##name (Real32 x, Real32 y) { \
+ return x op y; \
+ } \
+ static inline Real64 Real64_##name (Real64 x, Real64 y) { \
+ return x op y; \
}
binaryReal(add, +)
binaryReal(div, /)
@@ -275,12 +275,12 @@
binaryReal(sub, -)
#undef binaryReal
-#define binaryReal(name, op) \
- static inline Bool Real32_##name (Real32 x, Real32 y) { \
- return x op y; \
- } \
- static inline Bool Real64_##name (Real64 x, Real64 y) { \
- return x op y; \
+#define binaryReal(name, op) \
+ static inline Bool Real32_##name (Real32 x, Real32 y) { \
+ return x op y; \
+ } \
+ static inline Bool Real64_##name (Real64 x, Real64 y) { \
+ return x op y; \
}
binaryReal(equal, ==)
binaryReal(le, <=)
@@ -300,13 +300,13 @@
} Real64Or2Words;
static inline Real64 Real64_fetch (Real64 *dp) {
- Real64Or2Words u;
+ Real64Or2Words u;
Word32 *p;
p = (Word32*)dp;
u.tab[0] = p[0];
u.tab[1] = p[1];
- return u.d;
+ return u.d;
}
static inline void Real64_move (Real64 *dst, Real64 *src) {
@@ -318,11 +318,11 @@
ps = (Word32*)src;
t = ps[1];
pd[0] = ps[0];
- pd[1] = t;
+ pd[1] = t;
}
static inline void Real64_store (Real64 *dp, Real64 d) {
- Real64Or2Words u;
+ Real64Or2Words u;
Word32 *p;
p = (Word32*)dp;
@@ -335,58 +335,58 @@
/* Word */
/* ------------------------------------------------- */
-#define wordBinary(size, name, op) \
- static inline Word##size Word##size##_##name \
+#define wordBinary(size, name, op) \
+ static inline Word##size Word##size##_##name \
(Word##size w1, Word##size w2) { \
return w1 op w2; \
}
-#define wordCmp(size, name, op) \
- static inline Bool Word##size##_##name \
+#define wordCmp(size, name, op) \
+ static inline Bool Word##size##_##name \
(Word##size w1, Word##size w2) { \
- Bool res = w1 op w2; \
- if (DEBUG_CCODEGEN) \
+ Bool res = w1 op w2; \
+ if (DEBUG_CCODEGEN) \
fprintf (stderr, "%s = 0x%08x " #op " 0x%08x\n", \
- res ? "true": "false", \
- (unsigned int)w1, \
- (unsigned int)w2); \
+ res ? "true": "false", \
+ (unsigned int)w1, \
+ (unsigned int)w2); \
return w1 op w2; \
}
-#define wordShift(size, name, op) \
- static inline Word##size Word##size##_##name \
- (Word##size w1, Word w2) { \
+#define wordShift(size, name, op) \
+ static inline Word##size Word##size##_##name \
+ (Word##size w1, Word w2) { \
return w1 op w2; \
}
-#define wordUnary(size, name, op) \
- static inline Word##size Word##size##_##name (Word##size w) { \
- return op w; \
+#define wordUnary(size, name, op) \
+ static inline Word##size Word##size##_##name (Word##size w) { \
+ return op w; \
}
-#define wordOps(size) \
- wordBinary (size, add, +) \
- wordBinary (size, andb, &) \
- wordBinary (S##size, mul, *) \
- wordBinary (U##size, mul, *) \
- wordBinary (size, orb, |) \
- wordBinary (U##size, quot, /) \
- wordBinary (U##size, rem, %) \
- wordBinary (size, sub, -) \
- wordBinary (size, xorb, ^) \
- wordCmp (size, equal, ==) \
+#define wordOps(size) \
+ wordBinary (size, add, +) \
+ wordBinary (size, andb, &) \
+ wordBinary (S##size, mul, *) \
+ wordBinary (U##size, mul, *) \
+ wordBinary (size, orb, |) \
+ wordBinary (U##size, quot, /) \
+ wordBinary (U##size, rem, %) \
+ wordBinary (size, sub, -) \
+ wordBinary (size, xorb, ^) \
+ wordCmp (size, equal, ==) \
wordCmp (S##size, lt, <) \
wordCmp (U##size, lt, <) \
- wordShift (size, lshift, <<) \
- wordShift (U##size, rshift, >>) \
+ wordShift (size, lshift, <<) \
+ wordShift (U##size, rshift, >>) \
wordUnary (size, neg, -) \
- wordUnary (size, notb, ~) \
- /* WordS_rshift isn't ANSI C, because ANSI doesn't guarantee sign \
- * extension. We use it anyway cause it always seems to work. \
- */ \
- static inline Word##size WordS##size##_rshift (WordS##size w, Word s) { \
- return w >> s; \
- } \
- static inline Word##size Word##size##_rol (Word##size w1, Word w2) { \
+ wordUnary (size, notb, ~) \
+ /* WordS_rshift isn't ANSI C, because ANSI doesn't guarantee sign \
+ * extension. We use it anyway cause it always seems to work. \
+ */ \
+ static inline Word##size WordS##size##_rshift (WordS##size w, Word s) { \
+ return w >> s; \
+ } \
+ static inline Word##size Word##size##_rol (Word##size w1, Word w2) { \
return (w1 >> (size - w2)) | (w1 << w2); \
- } \
- static inline Word##size Word##size##_ror (Word##size w1, Word w2) { \
+ } \
+ static inline Word##size Word##size##_ror (Word##size w1, Word w2) { \
return (w1 >> w2) | (w1 << (size - w2)); \
}
wordOps(8)
@@ -399,9 +399,9 @@
#undef wordShift
#undef wordUnary
-#define coerce(f, t) \
- static inline t f##_to##t (f x) { \
- return (t)x; \
+#define coerce(f, t) \
+ static inline t f##_to##t (f x) { \
+ return (t)x; \
}
coerce (Real32, Real64)
coerce (Real32, WordS32)
@@ -434,7 +434,7 @@
#undef coerce
#define WordS8_max (WordS8)0x7F
-#define WordS8_min (WordS8)0x80
+#define WordS8_min (WordS8)0x80
#define WordS16_max (WordS16)0x7FFF
#define WordS16_min (WordS16)0x8000
#define WordS32_max (WordS32)0x7FFFFFFF
@@ -446,16 +446,16 @@
#define Word32_max (Word32)0xFFFFFFFF
#define Word64_max (Word64)0xFFFFFFFFFFFFFFFFull
-#define WordS_addCheckXC(size, dst, xW, cW, l) \
- do { \
- WordS##size x = xW; \
- WordS##size c = cW; \
- dst = x + c; \
- if (c >= 0) { \
- if (x > WordS##size##_max - c) \
- goto l; \
- } else if (x < WordS##size##_min - c) \
- goto l; \
+#define WordS_addCheckXC(size, dst, xW, cW, l) \
+ do { \
+ WordS##size x = xW; \
+ WordS##size c = cW; \
+ dst = x + c; \
+ if (c >= 0) { \
+ if (x > WordS##size##_max - c) \
+ goto l; \
+ } else if (x < WordS##size##_min - c) \
+ goto l; \
} while (0)
#define WordS8_addCheckXC(dst, x, c, l) WordS_addCheckXC(8, dst, x, c, l)
#define WordS16_addCheckXC(dst, x, c, l) WordS_addCheckXC(16, dst, x, c, l)
@@ -473,11 +473,11 @@
#define WordS64_addCheck WordS64_addCheckXC
#define WordS_negCheck(size, dst, nW, l) \
- do { \
- WordS##size n = nW; \
- dst = -n; \
- if (n == WordS##size##_min) \
- goto l; \
+ do { \
+ WordS##size n = nW; \
+ dst = -n; \
+ if (n == WordS##size##_min) \
+ goto l; \
} while (0)
#define Word8_negCheck(dst, n, l) WordS_negCheck(8, dst, n, l)
@@ -485,33 +485,33 @@
#define Word32_negCheck(dst, n, l) WordS_negCheck(32, dst, n, l)
#define Word64_negCheck(dst, n, l) WordS_negCheck(64, dst, n, l)
-#define WordS_subCheckCX(size, dst, cW, xW, l) \
- do { \
- WordS##size c = cW; \
- WordS##size x = xW; \
- dst = c - x; \
- if (c >= 0) { \
- if (x < c - WordS##size##_max) \
- goto l; \
- } else if (x > c - WordS##size##_min) \
- goto l; \
+#define WordS_subCheckCX(size, dst, cW, xW, l) \
+ do { \
+ WordS##size c = cW; \
+ WordS##size x = xW; \
+ dst = c - x; \
+ if (c >= 0) { \
+ if (x < c - WordS##size##_max) \
+ goto l; \
+ } else if (x > c - WordS##size##_min) \
+ goto l; \
} while (0)
#define WordS8_subCheckCX(dst, c, x, l) WordS_subCheckCX(8, dst, c, x, l)
#define WordS16_subCheckCX(dst, c, x, l) WordS_subCheckCX(16, dst, c, x, l)
#define WordS32_subCheckCX(dst, c, x, l) WordS_subCheckCX(32, dst, c, x, l)
#define WordS64_subCheckCX(dst, c, x, l) WordS_subCheckCX(64, dst, c, x, l)
-#define WordS_subCheckXC(size, dst, xW, cW, l) \
- do { \
- WordS##size c = cW; \
- WordS##size x = xW; \
- if (c <= 0) { \
- if (x > WordS##size##_max + c) \
- goto l; \
- } else if (x < WordS##size##_min + c) \
- goto l; \
- dst = x - c; \
- } while (0)
+#define WordS_subCheckXC(size, dst, xW, cW, l) \
+ do { \
+ WordS##size c = cW; \
+ WordS##size x = xW; \
+ if (c <= 0) { \
+ if (x > WordS##size##_max + c) \
+ goto l; \
+ } else if (x < WordS##size##_min + c) \
+ goto l; \
+ dst = x - c; \
+ } while (0)
#define WordS8_subCheckXC(dst, c, x, l) WordS_subCheckXC(8, dst, c, x, l)
#define WordS16_subCheckXC(dst, c, x, l) WordS_subCheckXC(16, dst, c, x, l)
#define WordS32_subCheckXC(dst, c, x, l) WordS_subCheckXC(32, dst, c, x, l)
@@ -522,11 +522,11 @@
#define WordS32_subCheck WordS32_subCheckXC
#define WordS64_subCheck WordS64_subCheckXC
-#define WordU_addCheckXC(size, dst, x, c, l) \
- do { \
- dst = x + c; \
- if (x > Word##size##_max - c) \
- goto l; \
+#define WordU_addCheckXC(size, dst, x, c, l) \
+ do { \
+ dst = x + c; \
+ if (x > Word##size##_max - c) \
+ goto l; \
} while (0)
#define WordU8_addCheckXC(dst, x, c, l) WordU_addCheckXC(8, dst, x, c, l)
#define WordU16_addCheckXC(dst, x, c, l) WordU_addCheckXC(16, dst, x, c, l)
@@ -542,16 +542,16 @@
#define WordU32_addCheck WordU32_addCheckXC
#define WordU64_addCheck WordU64_addCheckXC
-#define mulOverflow(small, large) \
- static inline Word##small Word##small##_##mulOverflow \
- (Word##small x1, Word##small x2, Bool *overflow) { \
+#define mulOverflow(small, large) \
+ static inline Word##small Word##small##_##mulOverflow \
+ (Word##small x1, Word##small x2, Bool *overflow) { \
Word##large tmp; \
Word##small res; \
\
- tmp = (Word##large)x1 * x2; \
- res = tmp; \
- *overflow = (tmp != res); \
- return res; \
+ tmp = (Word##large)x1 * x2; \
+ res = tmp; \
+ *overflow = (tmp != res); \
+ return res; \
}
mulOverflow(S8, S16)
mulOverflow(S16, S32)
@@ -561,22 +561,22 @@
mulOverflow(U32, U64)
#undef mulOverflow
-#define check(dst, n1, n2, l, ty); \
- do { \
- Bool overflow; \
- ty tmp; \
- tmp = ty##_mulOverflow (n1, n2, &overflow); \
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "%s:%d: " #ty "_mulOverflow (%d, %d) = %d\n", \
- __FILE__, __LINE__, \
- (int)n1, (int)n2, (int)tmp); \
- if (overflow) { \
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "%s:%d: overflow\n", \
- __FILE__, __LINE__); \
- goto l; \
- } \
- dst = tmp; \
+#define check(dst, n1, n2, l, ty); \
+ do { \
+ Bool overflow; \
+ ty tmp; \
+ tmp = ty##_mulOverflow (n1, n2, &overflow); \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "%s:%d: " #ty "_mulOverflow (%d, %d) = %d\n", \
+ __FILE__, __LINE__, \
+ (int)n1, (int)n2, (int)tmp); \
+ if (overflow) { \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "%s:%d: overflow\n", \
+ __FILE__, __LINE__); \
+ goto l; \
+ } \
+ dst = tmp; \
} while (0)
#define WordS8_mulCheck(dst, n1, n2, l) check (dst, n1, n2, l, WordS8)
Modified: mlton/trunk/include/c-common.h
===================================================================
--- mlton/trunk/include/c-common.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/include/c-common.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -19,15 +19,15 @@
#define ChunkName(n) Chunk ## n
-#define DeclareChunk(n) \
+#define DeclareChunk(n) \
struct cont ChunkName(n)(void)
#define Chunkp(n) &(ChunkName(n))
-#define PrepFarJump(n, l) \
- do { \
- cont.nextChunk = (void*)ChunkName(n); \
- nextFun = l; \
+#define PrepFarJump(n, l) \
+ do { \
+ cont.nextChunk = (void*)ChunkName(n); \
+ nextFun = l; \
} while (0)
#endif /* #ifndef _C_COMMON_H_ */
Modified: mlton/trunk/include/c-main.h
===================================================================
--- mlton/trunk/include/c-main.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/include/c-main.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -16,54 +16,54 @@
return w;
}
-#define Main(al, mg, mfs, mmc, pk, ps, mc, ml) \
-/* Globals */ \
-int nextFun; \
-bool returnToC; \
-void MLton_callFromC () { \
- struct cont cont; \
- GC_state s; \
+#define Main(al, mg, mfs, mmc, pk, ps, mc, ml) \
+/* Globals */ \
+int nextFun; \
+bool returnToC; \
+void MLton_callFromC () { \
+ struct cont cont; \
+ GC_state s; \
\
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "MLton_callFromC() starting\n"); \
- s = &gcState; \
- s->savedThread = s->currentThread; \
- s->canHandle += 3; \
- /* Switch to the C Handler thread. */ \
- GC_switchToThread (s, s->callFromCHandler, 0); \
- nextFun = *(int*)(s->stackTop - WORD_SIZE); \
- cont.nextChunk = nextChunks[nextFun]; \
- returnToC = FALSE; \
- do { \
- cont=(*(struct cont(*)(void))cont.nextChunk)(); \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "MLton_callFromC() starting\n"); \
+ s = &gcState; \
+ s->savedThread = s->currentThread; \
+ s->canHandle += 3; \
+ /* Switch to the C Handler thread. */ \
+ GC_switchToThread (s, s->callFromCHandler, 0); \
+ nextFun = *(int*)(s->stackTop - WORD_SIZE); \
+ cont.nextChunk = nextChunks[nextFun]; \
+ returnToC = FALSE; \
+ do { \
+ cont=(*(struct cont(*)(void))cont.nextChunk)(); \
} while (not returnToC); \
- GC_switchToThread (s, s->savedThread, 0); \
- s->savedThread = BOGUS_THREAD; \
- if (DEBUG_CCODEGEN) \
- fprintf (stderr, "MLton_callFromC done\n"); \
-} \
-int main (int argc, char **argv) { \
- struct cont cont; \
- Initialize (al, mg, mfs, mmc, pk, ps); \
- if (gcState.isOriginal) { \
- real_Init(); \
- PrepFarJump(mc, ml); \
+ GC_switchToThread (s, s->savedThread, 0); \
+ s->savedThread = BOGUS_THREAD; \
+ if (DEBUG_CCODEGEN) \
+ fprintf (stderr, "MLton_callFromC done\n"); \
+} \
+int main (int argc, char **argv) { \
+ struct cont cont; \
+ Initialize (al, mg, mfs, mmc, pk, ps); \
+ if (gcState.isOriginal) { \
+ real_Init(); \
+ PrepFarJump(mc, ml); \
} else { \
- /* Return to the saved world */ \
+ /* Return to the saved world */ \
nextFun = *(int*)(gcState.stackTop - WORD_SIZE); \
- cont.nextChunk = nextChunks[nextFun]; \
- } \
+ cont.nextChunk = nextChunks[nextFun]; \
+ } \
/* Trampoline */ \
- while (1) { \
- cont=(*(struct cont(*)(void))cont.nextChunk)(); \
- cont=(*(struct cont(*)(void))cont.nextChunk)(); \
- cont=(*(struct cont(*)(void))cont.nextChunk)(); \
- cont=(*(struct cont(*)(void))cont.nextChunk)(); \
- cont=(*(struct cont(*)(void))cont.nextChunk)(); \
- cont=(*(struct cont(*)(void))cont.nextChunk)(); \
- cont=(*(struct cont(*)(void))cont.nextChunk)(); \
- cont=(*(struct cont(*)(void))cont.nextChunk)(); \
- } \
+ while (1) { \
+ cont=(*(struct cont(*)(void))cont.nextChunk)(); \
+ cont=(*(struct cont(*)(void))cont.nextChunk)(); \
+ cont=(*(struct cont(*)(void))cont.nextChunk)(); \
+ cont=(*(struct cont(*)(void))cont.nextChunk)(); \
+ cont=(*(struct cont(*)(void))cont.nextChunk)(); \
+ cont=(*(struct cont(*)(void))cont.nextChunk)(); \
+ cont=(*(struct cont(*)(void))cont.nextChunk)(); \
+ cont=(*(struct cont(*)(void))cont.nextChunk)(); \
+ } \
}
#endif /* #ifndef _C_MAIN_H */
Modified: mlton/trunk/include/main.h
===================================================================
--- mlton/trunk/include/main.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/include/main.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -14,7 +14,7 @@
/* The label must be declared as weak because gcc's optimizer may prove that
* the code that declares the label is dead and hence eliminate the declaration.
*/
-#define DeclareProfileLabel(l) \
+#define DeclareProfileLabel(l) \
extern char l __attribute__ ((weak))
#define BeginIntInfs static struct GC_intInfInit intInfInits[] = {
@@ -30,40 +30,40 @@
Pointer gcStateAddress;
-#define Initialize(al, mg, mfs, mmc, pk, ps) \
- gcStateAddress = &gcState; \
- gcState.alignment = al; \
- gcState.atMLtons = atMLtons; \
- gcState.atMLtonsSize = cardof(atMLtons); \
- gcState.frameLayouts = frameLayouts; \
- gcState.frameLayoutsSize = cardof(frameLayouts); \
- gcState.frameSources = frameSources; \
+#define Initialize(al, mg, mfs, mmc, pk, ps) \
+ gcStateAddress = &gcState; \
+ gcState.alignment = al; \
+ gcState.atMLtons = atMLtons; \
+ gcState.atMLtonsSize = cardof(atMLtons); \
+ gcState.frameLayouts = frameLayouts; \
+ gcState.frameLayoutsSize = cardof(frameLayouts); \
+ gcState.frameSources = frameSources; \
gcState.frameSourcesSize = cardof(frameSources); \
gcState.globals = globalPointer; \
- gcState.globalsSize = cardof(globalPointer); \
- gcState.intInfInits = intInfInits; \
- gcState.intInfInitsSize = cardof(intInfInits); \
- gcState.loadGlobals = loadGlobals; \
- gcState.magic = mg; \
- gcState.maxFrameSize = mfs; \
+ gcState.globalsSize = cardof(globalPointer); \
+ gcState.intInfInits = intInfInits; \
+ gcState.intInfInitsSize = cardof(intInfInits); \
+ gcState.loadGlobals = loadGlobals; \
+ gcState.magic = mg; \
+ gcState.maxFrameSize = mfs; \
gcState.mutatorMarksCards = mmc; \
- gcState.objectTypes = objectTypes; \
- gcState.objectTypesSize = cardof(objectTypes); \
- gcState.profileKind = pk; \
- gcState.profileStack = ps; \
- gcState.returnAddressToFrameIndex = returnAddressToFrameIndex; \
- gcState.saveGlobals = saveGlobals; \
- gcState.sourceLabels = sourceLabels; \
+ gcState.objectTypes = objectTypes; \
+ gcState.objectTypesSize = cardof(objectTypes); \
+ gcState.profileKind = pk; \
+ gcState.profileStack = ps; \
+ gcState.returnAddressToFrameIndex = returnAddressToFrameIndex; \
+ gcState.saveGlobals = saveGlobals; \
+ gcState.sourceLabels = sourceLabels; \
gcState.sourceLabelsSize = cardof(sourceLabels); \
- gcState.sourceNames = sourceNames; \
- gcState.sourceNamesSize = cardof(sourceNames); \
+ gcState.sourceNames = sourceNames; \
+ gcState.sourceNamesSize = cardof(sourceNames); \
gcState.sourceSeqs = sourceSeqs; \
- gcState.sourceSeqsSize = cardof(sourceSeqs); \
- gcState.sources = sources; \
- gcState.sourcesSize = cardof(sources); \
- gcState.vectorInits = vectorInits; \
- gcState.vectorInitsSize = cardof(vectorInits); \
- MLton_init (argc, argv, &gcState); \
+ gcState.sourceSeqsSize = cardof(sourceSeqs); \
+ gcState.sources = sources; \
+ gcState.sourcesSize = cardof(sources); \
+ gcState.vectorInits = vectorInits; \
+ gcState.vectorInitsSize = cardof(vectorInits); \
+ MLton_init (argc, argv, &gcState); \
void MLton_callFromC ();
Modified: mlton/trunk/include/x86-main.h
===================================================================
--- mlton/trunk/include/x86-main.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/include/x86-main.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -61,62 +61,62 @@
return *((Word32*)(w - sizeof(Word32)));
}
-#define Main(al, mg, mfs, mmc, pk, ps, ml, reserveEsp) \
-void MLton_jumpToSML (pointer jump) { \
- Word lc_stackP; \
- \
- if (DEBUG_X86CODEGEN) \
+#define Main(al, mg, mfs, mmc, pk, ps, ml, reserveEsp) \
+void MLton_jumpToSML (pointer jump) { \
+ Word lc_stackP; \
+ \
+ if (DEBUG_X86CODEGEN) \
fprintf (stderr, "MLton_jumpToSML(0x%08x) starting\n", (uint)jump); \
- lc_stackP = c_stackP; \
- if (reserveEsp) \
- __asm__ __volatile__ \
+ lc_stackP = c_stackP; \
+ if (reserveEsp) \
+ __asm__ __volatile__ \
("pusha\nmovl %%esp,%0\nmovl %1,%%ebp\nmovl %2,%%edi\njmp *%3\n.global "ReturnToC"\n"ReturnToC":\nmovl %0,%%esp\npopa" \
- : "=o" (c_stackP) \
+ : "=o" (c_stackP) \
: "o" (gcState.stackTop), "o" (gcState.frontier), "r" (jump) \
- ); \
- else \
- __asm__ __volatile__ \
+ ); \
+ else \
+ __asm__ __volatile__ \
("pusha\nmovl %%esp,%0\nmovl %1,%%ebp\nmovl %2,%%esp\njmp *%3\n.global "ReturnToC"\n"ReturnToC":\nmovl %0,%%esp\npopa" \
- : "=o" (c_stackP) \
+ : "=o" (c_stackP) \
: "o" (gcState.stackTop), "o" (gcState.frontier), "r" (jump) \
- ); \
- c_stackP = lc_stackP; \
- if (DEBUG_X86CODEGEN) \
+ ); \
+ c_stackP = lc_stackP; \
+ if (DEBUG_X86CODEGEN) \
fprintf (stderr, "MLton_jumpToSML(0x%08x) done\n", (uint)jump); \
- return; \
-} \
-void MLton_callFromC () { \
- pointer jump; \
- GC_state s; \
+ return; \
+} \
+void MLton_callFromC () { \
+ pointer jump; \
+ GC_state s; \
\
- if (DEBUG_X86CODEGEN) \
- fprintf (stderr, "MLton_callFromC() starting\n"); \
- s = &gcState; \
- s->savedThread = s->currentThread; \
- s->canHandle += 3; \
- /* Return to the C Handler thread. */ \
- GC_switchToThread (s, s->callFromCHandler, 0); \
- jump = *(pointer*)(s->stackTop - WORD_SIZE); \
- MLton_jumpToSML(jump); \
- GC_switchToThread (s, s->savedThread, 0); \
- s->savedThread = BOGUS_THREAD; \
- if (DEBUG_X86CODEGEN) \
- fprintf (stderr, "MLton_callFromC() done\n"); \
- return; \
-} \
-int main (int argc, char **argv) { \
- pointer jump; \
- extern pointer ml; \
+ if (DEBUG_X86CODEGEN) \
+ fprintf (stderr, "MLton_callFromC() starting\n"); \
+ s = &gcState; \
+ s->savedThread = s->currentThread; \
+ s->canHandle += 3; \
+ /* Return to the C Handler thread. */ \
+ GC_switchToThread (s, s->callFromCHandler, 0); \
+ jump = *(pointer*)(s->stackTop - WORD_SIZE); \
+ MLton_jumpToSML(jump); \
+ GC_switchToThread (s, s->savedThread, 0); \
+ s->savedThread = BOGUS_THREAD; \
+ if (DEBUG_X86CODEGEN) \
+ fprintf (stderr, "MLton_callFromC() done\n"); \
+ return; \
+} \
+int main (int argc, char **argv) { \
+ pointer jump; \
+ extern pointer ml; \
\
- Initialize (al, mg, mfs, mmc, pk, ps); \
- if (gcState.isOriginal) { \
- real_Init(); \
- jump = (pointer)&ml; \
- } else { \
- jump = *(pointer*)(gcState.stackTop - WORD_SIZE); \
- } \
- MLton_jumpToSML(jump); \
- return 1; \
+ Initialize (al, mg, mfs, mmc, pk, ps); \
+ if (gcState.isOriginal) { \
+ real_Init(); \
+ jump = (pointer)&ml; \
+ } else { \
+ jump = *(pointer*)(gcState.stackTop - WORD_SIZE); \
+ } \
+ MLton_jumpToSML(jump); \
+ return 1; \
}
#endif /* #ifndef _X86_MAIN_H_ */
Modified: mlton/trunk/lib/cml/core-cml/channel.sig
===================================================================
--- mlton/trunk/lib/cml/core-cml/channel.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/cml/core-cml/channel.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -15,7 +15,7 @@
sig
type 'a chan
- val channel : unit -> 'a chan
+ val channel : unit -> 'a chan
val sameChannel : ('a chan * 'a chan) -> bool
val send : ('a chan * 'a) -> unit
Modified: mlton/trunk/lib/cml/core-cml/channel.sml
===================================================================
--- mlton/trunk/lib/cml/core-cml/channel.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/cml/core-cml/channel.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -224,7 +224,7 @@
val () = Assert.assertAtomic' ("Channel.recv(2)", SOME 1)
val msg =
case cleanAndDeque outQ of
- SOME (stxid, st) =>
+ SOME (stxid, st) =>
let
val () = debug' "Channel.recv(3.1.1)" (* Atomic 1 *)
val () = Assert.assertAtomic' ("Channel.recv(3.1.1)", SOME 1)
Modified: mlton/trunk/lib/cml/core-cml/event.sml
===================================================================
--- mlton/trunk/lib/cml/core-cml/event.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/cml/core-cml/event.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -12,20 +12,20 @@
*
* Some important requirements on the implementation of base event values:
*
- * 1) The pollFn, doitFn, and blockFn are always called from inside
- * atomic regions.
+ * 1) The pollFn, doitFn, and blockFn are always called from inside
+ * atomic regions.
*
- * 2) The pollFn returns an integer priority: this is 0 when not enabled,
- * ~1 for fixed priority, and a positive value for dynamic priority.
- * The standard scheme is to associate a counter with the underlying
- * synchronization object, and to increase it by one for each
- * synchronization attempt.
+ * 2) The pollFn returns an integer priority: this is 0 when not enabled,
+ * ~1 for fixed priority, and a positive value for dynamic priority.
+ * The standard scheme is to associate a counter with the underlying
+ * synchronization object, and to increase it by one for each
+ * synchronization attempt.
*
* 3) The blockFn is responsible for exiting the atomic region; the doitFns
- * should NOT leave the atomic region.
+ * should NOT leave the atomic region.
*
* 4) The blockFn is responsible for executing the "cleanUp" action
- * prior to leaving the atomic region.
+ * prior to leaving the atomic region.
*)
structure Event : EVENT_EXTRA =
@@ -321,10 +321,10 @@
fun syncOnBEvt (pollFn : 'a base) : 'a =
let
- val () = Assert.assertNonAtomic' "Event.syncOnBEvt"
+ val () = Assert.assertNonAtomic' "Event.syncOnBEvt"
val () = debug' "syncOnBEvt(1)" (* NonAtomic *)
val () = Assert.assertNonAtomic' "Event.syncOnBEvt(1)"
- val () = S.atomicBegin ()
+ val () = S.atomicBegin ()
val () = debug' "syncOnBEvt(2)" (* Atomic 1 *)
val () = Assert.assertAtomic' ("Event.syncOnBEvt(2)", SOME 1)
val x =
@@ -359,7 +359,7 @@
case bevts of
[] =>
let
- val () = debug' "syncOnBEvts(2).ext([])" (* Atomic 1 *)
+ val () = debug' "syncOnBEvts(2).ext([])" (* Atomic 1 *)
val () = Assert.assertAtomic' ("Event.syncOnBEvts(2).ext([])", SOME 1)
in
S.atomicSwitch
@@ -545,7 +545,7 @@
; chkCVars ())
fun log blockFns : S.rdy_thread =
let
- val () = debug' "syncOnGrp(2).ext([]).log" (* Atomic 1 *)
+ val () = debug' "syncOnGrp(2).ext([]).log" (* Atomic 1 *)
val () = Assert.assertAtomic' ("Event.syncOnGrp(2).ext([]).log", SOME 1)
in
case blockFns of
@@ -630,7 +630,7 @@
let
val gevt =
case evt of
- BEVT bevts => BASE bevts
+ BEVT bevts => BASE bevts
| CHOOSE evts => forceBL (evts, [])
| GUARD g => force (g ())
| WNACK f =>
Modified: mlton/trunk/lib/cml/core-cml/run-cml.sml
===================================================================
--- mlton/trunk/lib/cml/core-cml/run-cml.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/cml/core-cml/run-cml.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -113,7 +113,7 @@
S.switchToNext
(fn thrd =>
let
- val () = R.isRunning := true
+ val () = R.isRunning := true
val () = reset true
val () = SH.shutdownHook := S.prepend (thrd, fn arg => (S.atomicBegin (); arg))
val () = SH.pauseHook := pauseHook
Modified: mlton/trunk/lib/cml/core-cml/thread.sig
===================================================================
--- mlton/trunk/lib/cml/core-cml/thread.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/cml/core-cml/thread.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -17,20 +17,20 @@
val spawnc : ('a -> unit) -> 'a -> thread_id
val spawn : (unit -> unit) -> thread_id
val exit : unit -> 'a
- val yield : unit -> unit (* mostly for benchmarking *)
+ val yield : unit -> unit (* mostly for benchmarking *)
val joinEvt : thread_id -> unit Event.event
(* thread-local data *)
val newThreadProp : (unit -> 'a) ->
{
- clrFn : unit -> unit, (* clear's current thread's property *)
- getFn : unit -> 'a, (* get current thread's property; if *)
+ clrFn : unit -> unit, (* clear's current thread's property *)
+ getFn : unit -> 'a, (* get current thread's property; if *)
(* the property is not defined, then *)
(* it sets it using the initialization *)
(* function. *)
- peekFn : unit -> 'a option, (* return the property's value, if any *)
- setFn : 'a -> unit (* set the property's value for the *)
+ peekFn : unit -> 'a option, (* return the property's value, if any *)
+ setFn : 'a -> unit (* set the property's value for the *)
(* current thread. *)
}
val newThreadFlag : unit -> {getFn : unit -> bool, setFn : bool -> unit}
Modified: mlton/trunk/lib/mlnlffi/c.sig
===================================================================
--- mlton/trunk/lib/mlnlffi/c.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlnlffi/c.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -54,8 +54,8 @@
* look like in practice)
*)
(* pointer to 'o *)
- type 'o ptr
- (* light-weight alternative *)
+ type 'o ptr
+ (* light-weight alternative *)
eqtype 'o ptr'
(* 'n-sized array with 't elements *)
Modified: mlton/trunk/lib/mlnlffi/internals/c-int.sig
===================================================================
--- mlton/trunk/lib/mlnlffi/internals/c-int.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlnlffi/internals/c-int.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -87,7 +87,7 @@
val fcast : addr -> 'f fptr'
(* unsafe low-level array subscript that does not require RTTI *)
- val unsafe_sub : int -> (* element size *)
+ val unsafe_sub : int -> (* element size *)
(('t, 'n) arr, 'c) obj' * int ->
('t, 'n) obj'
end
Modified: mlton/trunk/lib/mlnlffi/internals/c-int.sml
===================================================================
--- mlton/trunk/lib/mlnlffi/internals/c-int.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlnlffi/internals/c-int.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -66,7 +66,7 @@
val ~~ = MLRep.Int.Unsigned.notb
in
- type ('t, 'c) obj = addr * 't objt (* RTTI for stored value *)
+ type ('t, 'c) obj = addr * 't objt (* RTTI for stored value *)
type ('t, 'c) obj' = addr
type ro = unit
type rw = unit
@@ -534,7 +534,7 @@
fun sub' t (p, i) = |*! (|+! t (p, i))
- val convert : (('st, 'sc) obj ptr, ('tt, 'tc) obj ptr) W.witness ->
+ val convert : (('st, 'sc) obj ptr, ('tt, 'tc) obj ptr) W.witness ->
('st, 'sc) obj ptr -> ('tt, 'tc) obj ptr =
fn w => fn x => w x
val convert' : (('st, 'sc) obj ptr, ('tt, 'tc) obj ptr) W.witness ->
Modified: mlton/trunk/lib/mlnlffi/memory/bitop-fn.sml
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/bitop-fn.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlnlffi/memory/bitop-fn.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -55,7 +55,7 @@
val to = W.fromLargeInt o I.toLarge
val from = I.fromLarge o W.toLargeIntX
fun bop f (x, y) = from (f (to x, to y)) (* binary op *)
- fun uop f x = from (f (to x)) (* unary op *)
+ fun uop f x = from (f (to x)) (* unary op *)
fun sop f (x, y) = from (f (to x, y)) (* shift-like op *)
fun cop f (x, y) = f (to x, to y) (* comparison-like op *)
in
Modified: mlton/trunk/lib/mlnlffi/memory/linkage.sig
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/linkage.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlnlffi/memory/linkage.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -18,10 +18,10 @@
exception DynLinkError of string
- type lib_handle (* handle on dynamically linked library (DL) *)
- type addr_handle (* handle on address obtained from a DL *)
+ type lib_handle (* handle on dynamically linked library (DL) *)
+ type addr_handle (* handle on address obtained from a DL *)
- val main_lib : lib_handle (* the runtime system itself *)
+ val main_lib : lib_handle (* the runtime system itself *)
(* link new library and return its handle *)
val open_lib : { name: string, lazy: bool, global: bool } -> lib_handle
Modified: mlton/trunk/lib/mlnlffi/memory/memalloc.sig
===================================================================
--- mlton/trunk/lib/mlnlffi/memory/memalloc.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlnlffi/memory/memalloc.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -17,6 +17,6 @@
eqtype addr' (* to avoid clash with addr from CMEMACCESS *)
- val alloc : word -> addr' (* may raise OutOfMemory *)
+ val alloc : word -> addr' (* may raise OutOfMemory *)
val free : addr' -> unit
end
Modified: mlton/trunk/lib/mlton/basic/alpha-beta.fun
===================================================================
--- mlton/trunk/lib/mlton/basic/alpha-beta.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/alpha-beta.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -142,11 +142,11 @@
* let val v = trace f (s, i)
* val v' = alphaBetaNoCache (s, Interval.lower i, Interval.upper i)
* in if Value.equals (v, v')
- * then ()
+ * then ()
* else Misc.bug (let open Layout
- * in align [str "v = ", Value.layout v,
- * str "v' = ", Value.layout v']
- * end);
+ * in align [str "v = ", Value.layout v,
+ * str "v' = ", Value.layout v']
+ * end);
* v
* end
*
Modified: mlton/trunk/lib/mlton/basic/directed-graph.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/directed-graph.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/directed-graph.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -527,8 +527,8 @@
end)
val _ = idom' root := root
(* val _ = Assert.assert ("dominators", fn () =>
- * validDominators (graph, {root = root,
- * idom = idom}))
+ * validDominators (graph, {root = root,
+ * idom = idom}))
*)
val {get = idomFinal, set = setIdom, ...} =
Property.getSetOnce (Node.plist, Property.initConst Unreachable)
Modified: mlton/trunk/lib/mlton/basic/directed-sub-graph.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/directed-sub-graph.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/directed-sub-graph.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -95,8 +95,8 @@
else false
(* fun removeSuccessor (Node {successors, ...}, n) =
- * successors := List.removeFirst (!successors, fn Edge.Edge {to, ...} =>
- * equals (n, to))
+ * successors := List.removeFirst (!successors, fn Edge.Edge {to, ...} =>
+ * equals (n, to))
*)
end
@@ -294,24 +294,24 @@
* let
* val discoverTime = Counter.new 0
* val {get, destroy, ...} =
- * Property.newDest
- * (Node.plist, Property.initFun (fn _ => {time = Counter.next discoverTime,
- * alive = ref true}))
+ * Property.newDest
+ * (Node.plist, Property.initFun (fn _ => {time = Counter.next discoverTime,
+ * alive = ref true}))
* val ignore = DfsParam.ignore
* in dfs
* (g, {startNode = fn n => (get n; ()),
- * finishNode = fn n => #alive (get n) := false,
- * handleNonTreeEdge =
- * fn e as Edge.Edge {from, to, ...} =>
- * let val {alive, time} = get to
- * in if !alive andalso time < #time (get from)
- * then removeEdge (g, e)
- * else ()
- * end,
- * handleTreeEdge = ignore,
- * startTree = ignore,
- * finishTree = ignore,
- * finishDfs = ignore})
+ * finishNode = fn n => #alive (get n) := false,
+ * handleNonTreeEdge =
+ * fn e as Edge.Edge {from, to, ...} =>
+ * let val {alive, time} = get to
+ * in if !alive andalso time < #time (get from)
+ * then removeEdge (g, e)
+ * else ()
+ * end,
+ * handleTreeEdge = ignore,
+ * startTree = ignore,
+ * finishTree = ignore,
+ * finishDfs = ignore})
* end
*)
Modified: mlton/trunk/lib/mlton/basic/hash-set.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/hash-set.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/hash-set.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -95,7 +95,7 @@
; buckets := newBuckets
; mask := newMask
end
-
+
fun maybeGrow (s as T {buckets, mask, numItems, ...}): unit =
let
val n = Array.length (!buckets)
@@ -140,9 +140,9 @@
* let
* val j = index (hash a, !mask)
* val _ =
- * Array.update (buckets, j,
- * a :: (List.remove (Array.sub (buckets, j),
- * fn a' => equals (a, a'))))
+ * Array.update (buckets, j,
+ * a :: (List.remove (Array.sub (buckets, j),
+ * fn a' => equals (a, a'))))
* in ()
* end
*)
Modified: mlton/trunk/lib/mlton/basic/http.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/http.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/http.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -23,7 +23,7 @@
val SP = char #" "
val HT = char #"\t"
val CRLF = string "\r\n"
- (* #"\n" is not in the spec for CRLF, but Netscape generates it. *)
+ (* #"\n" is not in the spec for CRLF, but Netscape generates it. *)
val CRLF = or [CRLF, char #"\n"]
val LWS = seq [optional CRLF, oneOrMore (or [SP, HT])]
val TEXT = isNotChar Char.isCntrl
@@ -49,10 +49,10 @@
not (Char.isCntrl c)
andalso not (c = #"(")
andalso not (c = #")"))
- (* val comment =
- * seq [char #"(",
- * star (or [ctext, quoted-pair, comment]),
- * char #")"]
+ (* val comment =
+ * seq [char #"(",
+ * star (or [ctext, quoted-pair, comment]),
+ * char #")"]
*)
val major' = Save.new ()
val minor' = Save.new ()
Modified: mlton/trunk/lib/mlton/basic/instream.sig
===================================================================
--- mlton/trunk/lib/mlton/basic/instream.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/instream.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -33,7 +33,7 @@
val layout: t -> Layout.t
(* Each line includes the newline. *)
val lines: t -> string list
- val openIn: string -> t
+ val openIn: string -> t
val openString: string -> t
val outputAll: t * Out.t -> unit
val peekChar: t -> char option
Modified: mlton/trunk/lib/mlton/basic/list.sig
===================================================================
--- mlton/trunk/lib/mlton/basic/list.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/list.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -83,16 +83,16 @@
val nth: 'a t * int -> 'a
val nthTail: 'a t * int -> 'a t
(* val ordered :
- * {< : 'a * 'a -> bool}
- * -> {insert: 'a t * 'a -> 'a t,
- * insertionSort: 'a t -> 'a t,
- * median: 'a t -> 'a,
- * orderStatistic: 'a t * int -> 'a,
- * partition: 'a t * 'a -> 'a t * 'a t,
- * max: 'a t -> 'a,
- * min: 'a t -> 'a,
- * largest: 'a t * int -> 'a t,
- * smallest: 'a t * int -> 'a t}
+ * {< : 'a * 'a -> bool}
+ * -> {insert: 'a t * 'a -> 'a t,
+ * insertionSort: 'a t -> 'a t,
+ * median: 'a t -> 'a,
+ * orderStatistic: 'a t * int -> 'a,
+ * partition: 'a t * 'a -> 'a t * 'a t,
+ * max: 'a t -> 'a,
+ * min: 'a t -> 'a,
+ * largest: 'a t * int -> 'a t,
+ * smallest: 'a t * int -> 'a t}
*)
(* partition ([1, 2, 3, 4], isOdd) = {no = [4, 2], yes = [3, 1]} *)
val partition: 'a t * ('a -> bool) -> {no: 'a t, yes: 'a t}
Modified: mlton/trunk/lib/mlton/basic/list.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/list.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/list.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -92,7 +92,7 @@
let
fun loop (l1, l2, b) =
case (l1, l2) of
- ([], []) => b
+ ([], []) => b
| (x1 :: l1, x2 :: l2) => loop (l1, l2, f (x1, x2, b))
| _ => Error.bug "fold2"
in loop (l1, l2, b)
@@ -102,7 +102,7 @@
let
fun loop (l1, l2, l3, b) =
case (l1, l2, l3) of
- ([], [], []) => b
+ ([], [], []) => b
| (x1 :: l1, x2 :: l2, x3 :: l3) =>
loop (l1, l2, l3, f (x1, x2, x3, b))
| _ => Error.bug "fold3"
Modified: mlton/trunk/lib/mlton/basic/power.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/power.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/power.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -12,7 +12,7 @@
one: 'a,
times: 'a * 'a -> 'a}
-> 'a * 'b
- -> 'a
+ -> 'a
type ('a, 'b) simultaneous =
{layout: 'a -> Layout.t,
Modified: mlton/trunk/lib/mlton/basic/process.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/process.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/process.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -400,8 +400,8 @@
end
(*
- * text data bss dec hex filename
- * 3272995 818052 24120 4115167 3ecadf mlton
+ * text data bss dec hex filename
+ * 3272995 818052 24120 4115167 3ecadf mlton
*)
fun size (f: File.t): {text: int, data: int, bss: int} =
let
Modified: mlton/trunk/lib/mlton/basic/rdb.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/rdb.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/rdb.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -64,7 +64,7 @@
just = Justify.Right,
toString =
fn r => Real.format (r, Real.Format.fix (SOME 1))}
-(* Real.toString *)
+(* Real.toString *)
val (string, stringV) = new {compare = String.compare,
just = Justify.Left,
Modified: mlton/trunk/lib/mlton/basic/regexp.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/regexp.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/regexp.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -24,7 +24,7 @@
local
val validCharsString =
"\n\t@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ()[]<>!?-&#;'/=\"$.\\"
- in
+ in
val validChars =
Vector.tabulate (numChars, fn i =>
String.contains (validCharsString, Char.fromInt i))
@@ -218,7 +218,7 @@
end
fun funs (T {matches, ...}) =
- let
+ let
fun peek (s: Save.t): Substring.t option =
Option.map (Array.peek (matches, fn (s', _) =>
Save.equals (s, s')),
@@ -1268,126 +1268,126 @@
* It repeatedly refines an equivalence relation, represented by a list
* of classes, where each class is a list of states.
*)
-(* fun minimize (dfa as T {anchorStart, charClass, final,
- * start, next, ...}): t =
- * let
- * val numStates = numStates dfa
- * val numCharClasses = numCharClasses dfa
- * type class = int list
- * type classes = class list
- * val repCounter = ref ~1
- * val change = ref false
- * fun newRep () = (change := true; ++ repCounter)
- * val finRep = newRep ()
- * val nonfinRep = newRep ()
- * val r = Array.tabulate (numStates, fn i =>
- * if Array.sub (final, i)
- * then finRep
- * else nonfinRep)
- * fun rep s = Array.sub (r, s)
- * fun trans (s, c) = rep (Array2.sub (next, s, c))
- * fun refine (class: class, ac: classes): classes =
- * let
- * val r =
- * List.fold
- * (class, [], fn (state, classes) =>
- * let
- * fun loop (classes, ac) =
- * case classes of
- * [] =>
- * (case ac of
- * [] => [{class = [state],
- * old = state}]
- * | _ =>
- * let
- * val s = newRep ()
- * val _ = Array.update (r, state, s)
- * in {class = [state],
- * old = state} :: ac
- * end)
- * | (z as {class, old}) :: classes =>
- * if Int.forall
- * (0, numCharClasses, fn c =>
- * trans (old, c) = trans (state, c))
- * then
- * (Array.update (r, state, rep old)
- * ; {class = state :: class,
- * old = old} :: (List.appendRev
- * (classes, ac)))
- * else loop (classes, z :: ac)
- * in loop (classes, [])
- * end)
- * in List.fold (r, ac, fn ({class, ...}, ac) =>
- * case class of
- * [_] => ac
- * | _ => class :: ac)
- * end
- * val refine =
- * Trace.trace ("refine",
- * (List.layout Int.layout o #1),
- * Layout.ignore)
- * refine
- * fun refineAll (classes: classes): unit =
- * case classes of
- * [] => ()
- * | _ =>
- * let
- * val _ = change := false
- * val classes =
- * List.fold (classes, [], fn (class, ac) =>
- * case class of
- * [_] => ac
- * | _ => refine (class, ac))
- * in if !change
- * then refineAll classes
- * else ()
- * end
- * val (fin, nonfin) =
- * Int.fold (0, numStates, ([], []), fn (i, (f, n)) =>
- * if Array.sub (final, i)
- * then (i :: f, n)
- * else (f, i :: n))
- * val _ = refineAll [fin, nonfin]
- * val numStates' = 1 + !repCounter
- * (* Compute reachable states. *)
- * val reached = Array.new (numStates', false)
- * fun visit (s: int (* an old state *)): unit =
- * let
- * val s' = rep s
- * in
- * if Array.sub (reached, s')
- * then ()
- * else (Array.update (reached, s', true)
- * ; Int.for (0, numCharClasses, fn c =>
- * visit (Array2.sub (next, s, c))))
- * end
- * val _ = visit start
- * val _ = visit anchorStart
- * (* Compute new representatives. *)
- * val c = ref ~1
- * val newR = Array.tabulate (numStates', fn s =>
- * if Array.sub (reached, s)
- * then ++ c
- * else ~1)
- * val numStates' = 1 + !c
- * val _ = Array.modify (r, fn s => Array.sub (newR, s))
- * val next' = Array2.new (numStates', numCharClasses, ~1)
- * val _ =
- * Array2.foreachi
- * (next, fn (s, c, s') =>
- * Array2.update (next', rep s, c, rep s'))
- * val final' = Array.array (numStates', false)
- * val _ =
- * Array.foreachi
- * (final, fn (i, b) =>
- * if b then Array.update (final', rep i, true) else ())
- * in T {anchorStart = rep anchorStart,
- * charClass = charClass,
- * dead = dead (numStates', numCharClasses, final', next'),
- * final = final',
- * start = rep start,
- * next = next'}
- * end
+(* fun minimize (dfa as T {anchorStart, charClass, final,
+ * start, next, ...}): t =
+ * let
+ * val numStates = numStates dfa
+ * val numCharClasses = numCharClasses dfa
+ * type class = int list
+ * type classes = class list
+ * val repCounter = ref ~1
+ * val change = ref false
+ * fun newRep () = (change := true; ++ repCounter)
+ * val finRep = newRep ()
+ * val nonfinRep = newRep ()
+ * val r = Array.tabulate (numStates, fn i =>
+ * if Array.sub (final, i)
+ * then finRep
+ * else nonfinRep)
+ * fun rep s = Array.sub (r, s)
+ * fun trans (s, c) = rep (Array2.sub (next, s, c))
+ * fun refine (class: class, ac: classes): classes =
+ * let
+ * val r =
+ * List.fold
+ * (class, [], fn (state, classes) =>
+ * let
+ * fun loop (classes, ac) =
+ * case classes of
+ * [] =>
+ * (case ac of
+ * [] => [{class = [state],
+ * old = state}]
+ * | _ =>
+ * let
+ * val s = newRep ()
+ * val _ = Array.update (r, state, s)
+ * in {class = [state],
+ * old = state} :: ac
+ * end)
+ * | (z as {class, old}) :: classes =>
+ * if Int.forall
+ * (0, numCharClasses, fn c =>
+ * trans (old, c) = trans (state, c))
+ * then
+ * (Array.update (r, state, rep old)
+ * ; {class = state :: class,
+ * old = old} :: (List.appendRev
+ * (classes, ac)))
+ * else loop (classes, z :: ac)
+ * in loop (classes, [])
+ * end)
+ * in List.fold (r, ac, fn ({class, ...}, ac) =>
+ * case class of
+ * [_] => ac
+ * | _ => class :: ac)
+ * end
+ * val refine =
+ * Trace.trace ("refine",
+ * (List.layout Int.layout o #1),
+ * Layout.ignore)
+ * refine
+ * fun refineAll (classes: classes): unit =
+ * case classes of
+ * [] => ()
+ * | _ =>
+ * let
+ * val _ = change := false
+ * val classes =
+ * List.fold (classes, [], fn (class, ac) =>
+ * case class of
+ * [_] => ac
+ * | _ => refine (class, ac))
+ * in if !change
+ * then refineAll classes
+ * else ()
+ * end
+ * val (fin, nonfin) =
+ * Int.fold (0, numStates, ([], []), fn (i, (f, n)) =>
+ * if Array.sub (final, i)
+ * then (i :: f, n)
+ * else (f, i :: n))
+ * val _ = refineAll [fin, nonfin]
+ * val numStates' = 1 + !repCounter
+ * (* Compute reachable states. *)
+ * val reached = Array.new (numStates', false)
+ * fun visit (s: int (* an old state *)): unit =
+ * let
+ * val s' = rep s
+ * in
+ * if Array.sub (reached, s')
+ * then ()
+ * else (Array.update (reached, s', true)
+ * ; Int.for (0, numCharClasses, fn c =>
+ * visit (Array2.sub (next, s, c))))
+ * end
+ * val _ = visit start
+ * val _ = visit anchorStart
+ * (* Compute new representatives. *)
+ * val c = ref ~1
+ * val newR = Array.tabulate (numStates', fn s =>
+ * if Array.sub (reached, s)
+ * then ++ c
+ * else ~1)
+ * val numStates' = 1 + !c
+ * val _ = Array.modify (r, fn s => Array.sub (newR, s))
+ * val next' = Array2.new (numStates', numCharClasses, ~1)
+ * val _ =
+ * Array2.foreachi
+ * (next, fn (s, c, s') =>
+ * Array2.update (next', rep s, c, rep s'))
+ * val final' = Array.array (numStates', false)
+ * val _ =
+ * Array.foreachi
+ * (final, fn (i, b) =>
+ * if b then Array.update (final', rep i, true) else ())
+ * in T {anchorStart = rep anchorStart,
+ * charClass = charClass,
+ * dead = dead (numStates', numCharClasses, final', next'),
+ * final = final',
+ * start = rep start,
+ * next = next'}
+ * end
*)
end
in
@@ -1980,12 +1980,12 @@
(* local
* val _ =
- * let open Trace.Immediate
- * in
- * flagged()
- * ; debug := Out Out.error
- * ; on []
- * end
+ * let open Trace.Immediate
+ * in
+ * flagged()
+ * ; debug := Out Out.error
+ * ; on []
+ * end
* open Regexp
* val a = char #"a"
* val b = char #"b"
@@ -1999,43 +1999,43 @@
* val r = or [a, b]
* val r = seq [a, b, c, d]
* val r = or [seq [a, b, c],
- * seq [a, b, d]]
+ * seq [a, b, d]]
* val r =
- * seq [star (or [a, b]),
- * a, b, b]
+ * seq [star (or [a, b]),
+ * a, b, b]
* val d = digit
* val eol = char #"#"
* val space = oneOf " \t"
* val r =
- * seq [or [anchorStart, notOneOf "0123456789("],
- * or [seq [char #"(", d, d, d, char #")"],
- * seq [d, d, d]],
- * char #" ",
- * d, d, d,
- * oneOf " -",
- * d, d, d, d,
- * or [eol, nonDigit]]
+ * seq [or [anchorStart, notOneOf "0123456789("],
+ * or [seq [char #"(", d, d, d, char #")"],
+ * seq [d, d, d]],
+ * char #" ",
+ * d, d, d,
+ * oneOf " -",
+ * d, d, d, d,
+ * or [eol, nonDigit]]
*
* fun doit (name, lay) =
- * let
- * val dot = concat ["/tmp/", name, ".dot"]
- * val ps = concat ["/tmp/", name, ".ps"]
- * val _ = File.withOut (dot, fn out => Layout.output (lay, out))
- * val _ = OS.Process.system (concat ["dot ", dot, " >", ps])
- * in ()
- * end
+ * let
+ * val dot = concat ["/tmp/", name, ".dot"]
+ * val ps = concat ["/tmp/", name, ".ps"]
+ * val _ = File.withOut (dot, fn out => Layout.output (lay, out))
+ * val _ = OS.Process.system (concat ["dot ", dot, " >", ps])
+ * in ()
+ * end
* val nfa = NFA.fromRegexp r
* val _ = doit ("nfa", NFA.layoutDot (nfa, "nfa"))
* val _ = Out.output (Out.error,
- * concat ["numCharClasses = ",
- * Int.toString (NFA.numCharClasses nfa),
- * "\n"])
+ * concat ["numCharClasses = ",
+ * Int.toString (NFA.numCharClasses nfa),
+ * "\n"])
* val dfa = DFA.fromNFA nfa
* val _ = doit ("dfa",
- * DFA.layoutDot {dfa = dfa, title = "dfa", showDead = false})
+ * DFA.layoutDot {dfa = dfa, title = "dfa", showDead = false})
* val min = DFA.minimize dfa
* val _ = doit ("min",
- * DFA.layoutDot {dfa = min, title = "min", showDead = false})
+ * DFA.layoutDot {dfa = min, title = "min", showDead = false})
* in
* end
*)
@@ -2044,11 +2044,11 @@
(* local
* val _ =
* let
- * open Trace.Immediate
+ * open Trace.Immediate
* in
- * debug := Out Out.error
- * ; flagged()
- * ; on ["Regexp.match"]
+ * debug := Out Out.error
+ * ; flagged()
+ * ; on ["Regexp.match"]
* end
* structure Z = TestRegexp (Regexp)
* in
Modified: mlton/trunk/lib/mlton/basic/stream.sml
===================================================================
--- mlton/trunk/lib/mlton/basic/stream.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/stream.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -68,7 +68,7 @@
fun isEmpty (s) =
case force (s) of
NONE => true
- | SOME _ => false
+ | SOME _ => false
fun layout f s = List.layout f (toList s)
Modified: mlton/trunk/lib/mlton/basic/trace.sig
===================================================================
--- mlton/trunk/lib/mlton/basic/trace.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/basic/trace.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -114,17 +114,17 @@
(* type ('a, 'b) check = ('a -> Layout.t) * ('a -> bool * 'b)
*
* type ('a, 'b) z =
- * 'a -> ((unit -> Layout.t)
- * * (unit -> bool)
- * * 'a
- * * 'b)
- *
+ * 'a -> ((unit -> Layout.t)
+ * * (unit -> bool)
+ * * 'a
+ * * 'b)
+ *
* val traceInfo:
- * info
- * * ('a, ('b, unit) check) check
- * -> ('a -> 'b)
- * -> 'a
- * -> 'b
+ * info
+ * * ('a, ('b, unit) check) check
+ * -> ('a -> 'b)
+ * -> 'a
+ * -> 'b
*)
val assertTrue: 'a -> (bool * ('b -> bool))
Modified: mlton/trunk/lib/mlton/queue/append-reverse.fun
===================================================================
--- mlton/trunk/lib/mlton/queue/append-reverse.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/queue/append-reverse.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -55,7 +55,7 @@
and force r = (case !r of
Rot lra => r := rot lra
| _ => ())
-and rot(l, r, a) =
+and rot(l, r, a) =
(case (destruct l, L.destruct r) of
(NONE, SOME(x, _)) => List(L.cons(x, a))
| (SOME(x, l), SOME(x', r)) =>
Modified: mlton/trunk/lib/mlton/queue/explicit-append-reverse.fun
===================================================================
--- mlton/trunk/lib/mlton/queue/explicit-append-reverse.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/queue/explicit-append-reverse.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -27,7 +27,7 @@
and force r = (case !r of
Rotated lra => r := rotate lra
| _ => ())
-and rotate(l, r, a) =
+and rotate(l, r, a) =
(case (destruct l, L.destruct r) of
(NONE, SOME(x, _)) => List(L.cons(x, a))
| (SOME(x, l), SOME(x', r)) =>
Modified: mlton/trunk/lib/mlton/set/bit-vector-set.fun
===================================================================
--- mlton/trunk/lib/mlton/set/bit-vector-set.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/set/bit-vector-set.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -10,7 +10,7 @@
functor BitVectorSet (Element : sig
include T
- val fromInt: int -> t
+ val fromInt: int -> t
val size: int
val toInt: t -> int
end) : SET =
Modified: mlton/trunk/lib/mlton/set/universe.sig
===================================================================
--- mlton/trunk/lib/mlton/set/universe.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton/set/universe.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -26,7 +26,7 @@
val project2: t -> t
val Union: t -> t
- (* val Cross: t -> t *)
+ (* val Cross: t -> t *)
val lookup: t * E.t -> E.t option
val update: t * E.t * E.t -> t
Modified: mlton/trunk/lib/mlton-stubs-in-smlnj/int.sml
===================================================================
--- mlton/trunk/lib/mlton-stubs-in-smlnj/int.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlton-stubs-in-smlnj/int.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -21,16 +21,16 @@
end
(* val 'a scan = fn radix =>
- * let
- * val scan: (char, 'a) StringCvt.reader
- * -> (Int31.int, 'a) StringCvt.reader = scan radix
- * in fn reader: (char, 'a) StringCvt.reader =>
- * let val scan: (Int31.int, 'a) StringCvt.reader = scan reader
- * in fn s: 'a =>
- * case scan s of
- * NONE => NONE
- * | SOME(n: Int31.int, s) => SOME(OpenInt32.fromInt n, s)
- * end
+ * let
+ * val scan: (char, 'a) StringCvt.reader
+ * -> (Int31.int, 'a) StringCvt.reader = scan radix
+ * in fn reader: (char, 'a) StringCvt.reader =>
+ * let val scan: (Int31.int, 'a) StringCvt.reader = scan reader
+ * in fn s: 'a =>
+ * case scan s of
+ * NONE => NONE
+ * | SOME(n: Int31.int, s) => SOME(OpenInt32.fromInt n, s)
* end
+ * end
*)
end
Modified: mlton/trunk/lib/mlyacc/base.sig
===================================================================
--- mlton/trunk/lib/mlyacc/base.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlyacc/base.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -188,7 +188,7 @@
type svalue
(* the type of the user-supplied argument to the parser *)
- type arg
+ type arg
(* the intended type of the result of the parser. This value is
produced by applying extract from the structure Actions to the
@@ -223,7 +223,7 @@
sig
val is_keyword : LrTable.term -> bool
val noShift : LrTable.term -> bool
- val preferred_change : (LrTable.term list * LrTable.term list) list
+ val preferred_change : (LrTable.term list * LrTable.term list) list
val errtermvalue : LrTable.term -> svalue
val showTerminal : LrTable.term -> string
val terms: LrTable.term list
@@ -253,7 +253,7 @@
type result
(* the type of the user-supplied argument to the parser *)
- type arg
+ type arg
(* type svalue is the type of semantic values for the semantic value
stack
Modified: mlton/trunk/lib/mlyacc/parser1.sml
===================================================================
--- mlton/trunk/lib/mlyacc/parser1.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlyacc/parser1.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -56,7 +56,7 @@
(println "Parse: state stack:";
printStack(stack, 0);
print(" state="
- ^ showState state
+ ^ showState state
^ " next="
^ showTerminal term
^ " action="
@@ -87,7 +87,7 @@
in error("syntax error\n",leftPos,rightPos);
raise ParseError
end
- | ACCEPT => let val (_,(topvalue,_,_)) :: _ = stack
+ | ACCEPT => let val (_,(topvalue,_,_)) :: _ = stack
val (token,restLexer) = next
in (topvalue,Stream.cons(token,lexer))
end
Modified: mlton/trunk/lib/mlyacc/parser2.sml
===================================================================
--- mlton/trunk/lib/mlyacc/parser2.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlyacc/parser2.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -132,7 +132,7 @@
fun get(a::x, y) = (a, (x,y))
| get(nil, nil) = raise Empty
| get(nil, y) = get(rev y, nil)
- fun put(a,(x,y)) = (x,a::y)
+ fun put(a,(x,y)) = (x,a::y)
end
type ('a,'b) elem = (state * ('a * 'b * 'b))
@@ -177,7 +177,7 @@
(println "Parse: state stack:";
printStack(stack, 0);
print(" state="
- ^ showState state
+ ^ showState state
^ " next="
^ showTerminal term
^ " action="
Modified: mlton/trunk/lib/mlyacc/sources.cm
===================================================================
--- mlton/trunk/lib/mlyacc/sources.cm 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/lib/mlyacc/sources.cm 2005-08-21 18:31:31 UTC (rev 4020)
@@ -30,4 +30,4 @@
join.sml
lrtable.sml
stream.sml
-parser2.sml (* error correcting version *)
+parser2.sml (* error correcting version *)
Modified: mlton/trunk/mllex/README
===================================================================
--- mlton/trunk/mllex/README 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mllex/README 2005-08-21 18:31:31 UTC (rev 4020)
@@ -11,12 +11,12 @@
Files of interest:
-lexgen.doc - User's manual for ML-Lex
-lexgen.sml - ML version of Lex
+lexgen.doc - User's manual for ML-Lex
+lexgen.sml - ML version of Lex
export-lex.sml - implements an exportable (via SMLofNJ.exportFn)
toplevel driver for ML-Lex; the resulting
stand-alone program takes the specification
file name as a command line argument
-ml-lex.cm - CM description file for ML-Lex
-build - script that invokes ../../bin/ml-build in order
+ml-lex.cm - CM description file for ML-Lex
+build - script that invokes ../../bin/ml-build in order
to construct the stand-alone version of ML-Lex
Modified: mlton/trunk/mllex/lexgen.doc
===================================================================
--- mlton/trunk/mllex/lexgen.doc 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mllex/lexgen.doc 2005-08-21 18:31:31 UTC (rev 4020)
@@ -149,14 +149,14 @@
but first; to include - literally in a set, put it first or last.
The dot . character stands for any character except newline,
- i.e. the same as [^\n]
+ i.e. the same as [^\n]
The following special escape sequences are available, inside
or outside of square-brackets:
\b - backspace
\n - newline
\t - tab
- \h - stands for all characters with codes >127,
+ \h - stands for all characters with codes >127,
when 7-bit characters are used.
\ddd - where ddd is a 3 digit decimal escape.
@@ -215,14 +215,14 @@
set of strings they denote:
0 | 1 | 2 | 3 A single digit between 0 and 3
- [0123] A single digit between 0 and 3
+ [0123] A single digit between 0 and 3
0123 The string "0123"
0* All strings of 0 or more 0's
00* All strings of 1 or more 0's
0+ All strings of 1 or more 0's
[0-9]{3} Any three-digit decimal number.
- \\[ntb] The strings "\n" "\t" "\b"
- (00)* Any string with an even number of 0's.
+ \\[ntb] The strings "\n" "\t" "\b"
+ (00)* Any string with an even number of 0's.
IV. ML-Lex syntax summary
@@ -326,7 +326,7 @@
possible prefix of this string,
is used instead.
- yypos Current character position from
+ yypos Current character position from
beginning of file.
yylineno %count Current line number
@@ -376,7 +376,7 @@
let val c = input (f,1)
val result = c :: result
in if String.size c = 0 orelse c = "\n" then
- String.implode (rev result)
+ String.implode (rev result)
else loop result
end
in loop nil
@@ -478,7 +478,7 @@
let val c = input (f,1)
val result = c :: result
in if String.size c = 0 orelse c = "\n" then
- String.implode (rev result)
+ String.implode (rev result)
else loop result
end
in loop nil
Modified: mlton/trunk/mllex/lexgen.sml
===================================================================
--- mlton/trunk/mllex/lexgen.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mllex/lexgen.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -148,7 +148,7 @@
val empty : tree
val insert : key * tree -> tree
val lookup : key * tree -> key
- exception notfound of key
+ exception notfound of key
end =
struct
open B
@@ -237,7 +237,7 @@
(* flags describing input Lex spec. - unnecessary code is omitted *)
(* if possible *)
- val CharFormat = ref false;
+ val CharFormat = ref false;
val UsesTrailingContext = ref false;
val UsesPrevNewLine = ref false;
@@ -331,7 +331,7 @@
abstype ('b,'a) dictionary = DATA of { Table : ('b * 'a) list,
Leq : 'b * 'b -> bool }
with
- exception LOOKUP
+ exception LOOKUP
fun create Leqfunc = DATA { Table = nil, Leq = Leqfunc }
fun lookup (DATA { Table = entrylist, Leq = leq }) key =
let fun search [] = raise LOOKUP
@@ -355,7 +355,7 @@
fun listofdict (DATA { Table = entrylist,Leq = leq}) =
let fun f (nil,r) = rev r
| f (a::b,r) = f (b,a::r)
- in f(entrylist,nil)
+ in f(entrylist,nil)
end
end
end
@@ -458,7 +458,7 @@
in
if isDigit ch
then f(n*10+(cvt ch), c+1, ch::t)
- else err t
+ else err t
end
in
if isDigit x then f(cvt x, 1, [x]) else x
@@ -474,7 +474,7 @@
case skipws()
(* Lex % operators *)
of #"%" => (case nextch() of
- #"%" => LEXMARK
+ #"%" => LEXMARK
| a => let fun f s =
let val a = nextch()
in if isLetter a then f(a::s)
@@ -720,7 +720,7 @@
| LP => exp2(CAT(e1,e2),exp0())
| RP => CAT(e1,e2)
| t => (AdvanceTok(); case t of
- QMARK => exp1(CAT(e1,optional(e2)))
+ QMARK => exp1(CAT(e1,optional(e2)))
| STAR => exp1(CAT(e1,CLOSURE(e2)))
| PLUS => exp1(CAT(e1,closure1(e2)))
| CHARS(c) => exp2(CAT(e1,e2),CLASS(c,0))
@@ -741,7 +741,7 @@
fun GetStates () : int list =
let fun add nil sl = sl
- | add (x::y) sl = add y (union ([lookup (!StateTab)(x)
+ | add (x::y) sl = add y (union ([lookup (!StateTab)(x)
handle LOOKUP =>
prErr ("bad state name: "^x)
],sl))
@@ -754,7 +754,7 @@
| incall nil = nil
fun addincs nil = nil
- | addincs (x::y) = x::(x+1)::addincs y
+ | addincs (x::y) = x::(x+1)::addincs y
val state_list =
case !NextTok of
@@ -787,7 +787,7 @@
let val Accept = ref (create String.<=) : (string,string) dictionary ref
val rec ParseRtns = fn l => case getch(!LexBuf) of
#"%" => let val c = getch(!LexBuf) in
- if c = #"%" then (implode (rev l))
+ if c = #"%" then (implode (rev l))
else ParseRtns(c :: #"%" :: l)
end
| c => ParseRtns(c::l)
@@ -906,7 +906,7 @@
val _ = (if length(trans)<256 then CharFormat := true
else CharFormat := false;
if !UsesTrailingContext then
- (say "\ndatatype yyfinstate = N of int | \
+ (say "\ndatatype yyfinstate = N of int | \
\ T of int | D of int\n")
else say "\ndatatype yyfinstate = N of int";
say "\ntype statedata = {fin : yyfinstate list, trans: ";
@@ -966,8 +966,8 @@
let val s = StringCvt.padLeft #"0" 3 (Int.toString x)
in
case pos
- of 16 => (say "\\\n\\\\"; say s; 1)
- | _ => (say "\\"; say s; pos+1)
+ of 16 => (say "\\\n\\\\"; say s; 1)
+ | _ => (say "\\"; say s; pos+1)
end
fun emit16(x, pos) =
let val hi8 = x div 256
@@ -994,7 +994,7 @@
say " ("; say name; say ",";
makeItems x; say "),\n";
makeEntry(y,(name::rs),(insert ((x,name),t))))
- end
+ end
val _ = say "val s = [ \n"
val res = makeEntry(trans,nil,empty)
@@ -1010,7 +1010,7 @@
val _ = say " | look ([], i) = raise LexHackingError\n"
val _ = say "fun g {fin=x, trans=i} = {fin=x, trans=look(s,i)} \n"
- in res
+ in res
end
fun makeTable args = let
@@ -1198,8 +1198,8 @@
and startstates() =
let val startarray = array(!StateNum + 1, nil);
fun listofarray(a,n) =
- let fun f i l = if i >= 0 then f (i-1) ((a sub i)::l) else l
- in f (n-1) nil end
+ let fun f i l = if i >= 0 then f (i-1) ((a sub i)::l) else l
+ in f (n-1) nil end
val rec makess = fn
nil => ()
| (startlist,e)::tl => (fix(startlist,firstpos(e));makess(tl))
@@ -1260,13 +1260,13 @@
\\t\t\t val yypos: int = i0+ !yygone";
if !CountNewLines
then (sayln "\t\t\tval _ = yylineno := CharVectorSlice.foldli";
- sayln "\t\t\t\t(fn (_,#\"\\n\", n) => n+1 | (_,_, n) => n) (!yylineno) (CharVectorSlice.slice (!yyb,i0,SOME(i-i0)))")
+ sayln "\t\t\t\t(fn (_,#\"\\n\", n) => n+1 | (_,_, n) => n) (!yylineno) (CharVectorSlice.slice (!yyb,i0,SOME(i-i0)))")
else ();
if !HaveReject
then (say "\t\t\tfun REJECT() = action(i,acts::l";
if !UsesTrailingContext
then sayln ",rs)" else sayln ")")
- else ();
+ else ();
sayln "\t\t\topen UserDeclarations Internal.StartStates";
sayln " in (yybufpos := i; case yyk of ";
sayln "";
@@ -1337,7 +1337,7 @@
let
val (user_code,rules,ends) =
parse() handle x =>
- (close_ibuf(!LexBuf);
+ (close_ibuf(!LexBuf);
TextIO.closeOut(!LexOut);
OS.FileSys.remove outfile;
raise x)
@@ -1379,7 +1379,7 @@
\\tval yygone: int ref = ref yygone0\t(* position in file of beginning of buffer *)\n\
\\tval yydone = ref false\t\t(* eof found yet? *)\n\
\\tval yybegin: int ref = ref 1\t\t(*Current 'start state' for lexer *)\n\
- \\n\tval YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>\n\
+ \\n\tval YYBEGIN = fn (Internal.StartStates.STARTSTATE x) =>\n\
\\t\t yybegin := x\n\n";
PrintLexer(ends);
close_ibuf(!LexBuf);
Modified: mlton/trunk/mllex/lexgen.tex
===================================================================
--- mlton/trunk/mllex/lexgen.tex 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mllex/lexgen.tex 2005-08-21 18:31:31 UTC (rev 4020)
@@ -153,13 +153,13 @@
to the most weakly binding):
\begin{itemize}
-\item An individual character stands for itself, except for the
+\item An individual character stands for itself, except for the
reserved characters \verb@? * + | ( ) ^ $ / ; . = < > [ { " \@
-\item[\\] A backslash followed by one of the reserved characters stands
+\item[\\] A backslash followed by one of the reserved characters stands
for that character.
-\item A set of characters enclosed in square brackets [ ] stands
+\item A set of characters enclosed in square brackets [ ] stands
for any one of those characters. Inside the brackets, only
the symbols \verb|\ - ^| are reserved. An initial up-arrow
\verb|^| stands
@@ -170,10 +170,10 @@
digit. To include \verb|^| literally in a bracketed set, put it anywhere
but first; to include \verb|-| literally in a set, put it first or last.
-\item[\verb|.|] The dot \verb|.| character stands for any character except newline,
+\item[\verb|.|] The dot \verb|.| character stands for any character except newline,
i.e. the same as \verb|[^\n]|
-\item The following special escape sequences are available, inside
+\item The following special escape sequences are available, inside
or outside of square-brackets:
\begin{tabular}{ll}
@@ -181,52 +181,52 @@
\verb|\n|& newline\\
\verb|\t|& tab\\
\verb|\h|& stands for all characters with codes $>127$,\\
- &~~~~ when 7-bit characters are used.\\
+ &~~~~ when 7-bit characters are used.\\
\verb|\ddd|& where \verb|ddd| is a 3 digit decimal escape.\\
\end{tabular}
-\item[\verb|"|] A sequence of characters will stand for itself (reserved
+\item[\verb|"|] A sequence of characters will stand for itself (reserved
characters will be taken literally) if it is enclosed in
double quotes \verb|" "|.
-\item[\{\}] A named regular expression (defined in the ``definitions"
+\item[\{\}] A named regular expression (defined in the ``definitions"
section) may be referred to by enclosing its name in
braces \verb|{ }|.
\item[()] Any regular expression may be enclosed in parentheses \verb|( )|
for syntactic (but, as usual, not semantic) effect.
-\item[\verb|*|] The postfix operator \verb|*| stands for Kleene closure:
+\item[\verb|*|] The postfix operator \verb|*| stands for Kleene closure:
zero or more repetitions of the preceding expression.
-\item[\verb|+|] The postfix operator \verb|+| stands for one or more repetitions
+\item[\verb|+|] The postfix operator \verb|+| stands for one or more repetitions
of the preceding expression.
-\item[\verb|?|] The postfix operator \verb|?| stands for zero or one occurrence of
+\item[\verb|?|] The postfix operator \verb|?| stands for zero or one occurrence of
the preceding expression.
-\item A postfix repetition range $\{n_1,n_2\}$ where $n_1$ and $n_2$ are small
+\item A postfix repetition range $\{n_1,n_2\}$ where $n_1$ and $n_2$ are small
integers stands for any number of repetitions between $n_1$ and $n_2$
of the preceding expression. The notation $\{n_1\}$ stands for
exactly $n_1$ repetitions.
-\item Concatenation of expressions denotes concatenation of strings.
+\item Concatenation of expressions denotes concatenation of strings.
The expression $e_1 e_2$ stands for any string that results from
the concatenation of one string that matches $e_1$ with another
string that matches $e_2$.
-\item\verb-|- The infix operator \verb-|- stands for alternation. The expression
+\item\verb-|- The infix operator \verb-|- stands for alternation. The expression
$e_1$~\verb"|"~$e_2$ stands for anything that either $e_1$ or $e_2$ stands for.
-\item[\verb|/|] The infix operator \verb|/| denotes lookahead. Lookahead is not
+\item[\verb|/|] The infix operator \verb|/| denotes lookahead. Lookahead is not
implemented and cannot be used, because there is a bug
in the algorithm for generating lexers with lookahead. If
it could be used, the expression $e_1 / e_2$ would match any string
that $e_1$ stands for, but only when that string is followed by a
string that matches $e_2$.
-\item When the up-arrow \verb|^| occurs at the beginning of an expression,
+\item When the up-arrow \verb|^| occurs at the beginning of an expression,
that expression will only match strings that occur at the
beginning of a line (right after a newline character).
@@ -240,13 +240,13 @@
\begin{tabular}{ll}
\verb~0 | 1 | 2 | 3~& A single digit between 0 and 3\\
-\verb|[0123]|& A single digit between 0 and 3\\
+\verb|[0123]|& A single digit between 0 and 3\\
\verb|0123|& The string ``0123"\\
\verb|0*|& All strings of 0 or more 0's\\
\verb|00*|& All strings of 1 or more 0's\\
\verb|0+|& All strings of 1 or more 0's\\
\verb|[0-9]{3}|& Any three-digit decimal number.\\
-\verb|\\[ntb]|& A newline, tab, or backspace.\\
+\verb|\\[ntb]|& A newline, tab, or backspace.\\
\verb|(00)*|& Any string with an even number of 0's.
\end{tabular}
@@ -290,7 +290,7 @@
as input.
\item[\tt \%structure \{identifier\}] name the structure in the output program
{identifier} instead of Mlex
-\item[\tt \%header] use code following it to create header for lexer
+\item[\tt \%header] use code following it to create header for lexer
structure
\item[\tt \%arg] extra (curried) formal parameter argument to be
passed to the lex functions, and to be passed
@@ -439,7 +439,7 @@
let val c = input (f,1)
val result = c :: result
in if String.size c = 0 orelse c = "\n" then
- String.implode (rev result)
+ String.implode (rev result)
else loop result
end
in loop nil
@@ -549,7 +549,7 @@
let val c = input (f,1)
val result = c :: result
in if String.size c = 0 orelse c = "\n" then
- String.implode (rev result)
+ String.implode (rev result)
else loop result
end
in loop nil
Modified: mlton/trunk/mllex/mlex_int.doc
===================================================================
--- mlton/trunk/mllex/mlex_int.doc 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mllex/mlex_int.doc 2005-08-21 18:31:31 UTC (rev 4020)
@@ -50,7 +50,7 @@
executes the action function.
(a) - if it is past the end of the buffer, it
(1) checks if it as at end eof. If it is then:
- It checks to see if it has made any
+ It checks to see if it has made any
transitions since it was first called -
(l>i0 when this is true.) If it hasn't
this implies that scan was called at
@@ -69,7 +69,7 @@
applications, the buffer update operation
will be fine.
- This buffer update operation requires
+ This buffer update operation requires
O(n^2/1024) char. copies for lexemes > 1024
characters in length, and O(n) char. copies
for lexemes <= 1024 characters in length.
Modified: mlton/trunk/mlnlffigen/README
===================================================================
--- mlton/trunk/mlnlffigen/README 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlnlffigen/README 2005-08-21 18:31:31 UTC (rev 4020)
@@ -302,7 +302,7 @@
|CF = foo.cm
|
|$(D)/$(CF): $(FILES)
- | ml-nlffigen -include $(HF) -libhandle $(H) -dir $(D) -cmfile $(CF) $^
+ | ml-nlffigen -include $(HF) -libhandle $(H) -dir $(D) -cmfile $(CF) $^
+----------------------------------------------------------
Suppose the above file is stored as "foo.make". Running
@@ -394,11 +394,11 @@
+-------------------------------------------------------------
|library
- | library(FFI/foo.cm)
+ | library(FFI/foo.cm)
|is
- | $/basis.cm
- | $/c.cm
- | FFI/foo.cm : make (-f foo.make)
+ | $/basis.cm
+ | $/c.cm
+ | FFI/foo.cm : make (-f foo.make)
+-------------------------------------------------------------
Now, saying
@@ -417,12 +417,12 @@
+-------------------------------------------------------------
|library
- | structure Foo_a
- | structure Foo_b
+ | structure Foo_a
+ | structure Foo_b
|is
- | $/basis.cm
- | $/c.cm
- | FFI/foo.cm : make (-f foo.make)
- | wrapper-foo-a.sml
- | wrapper-foo-b.sml
+ | $/basis.cm
+ | $/c.cm
+ | FFI/foo.cm : make (-f foo.make)
+ | wrapper-foo-a.sml
+ | wrapper-foo-b.sml
+-------------------------------------------------------------
Modified: mlton/trunk/mlnlffigen/ast-to-spec.sml
===================================================================
--- mlton/trunk/mlnlffigen/ast-to-spec.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlnlffigen/ast-to-spec.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -453,7 +453,7 @@
(* Spec.SINT is an arbitrary choice; the value gets
* ignored anyway *)
(ignore (typeref (tid, fn _ => Spec.BASIC Spec.SINT, tl_context))
- handle VoidType => ()) (* ignore type aliases for void *)
+ handle VoidType => ()) (* ignore type aliases for void *)
fun declaration (A.TypeDecl { tid, ... }) = dotid tid
| declaration (A.VarDecl (v, _)) = varDecl v
Modified: mlton/trunk/mlnlffigen/pp.sml
===================================================================
--- mlton/trunk/mlnlffigen/pp.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlnlffigen/pp.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -101,7 +101,7 @@
| ppType0 s (TUPLE [], _) = PP.string s "unit"
| ppType0 s (TUPLE [t], c) = ppType0 s (t, c)
| ppType0 s (TUPLE tl, c) = let
- fun loop [] = () (* cannot happen *)
+ fun loop [] = () (* cannot happen *)
| loop [t] = ppType0 s (t, C_STAR)
| loop (h :: tl) = (ppType0 s (h, C_STAR);
PP.string s " *";
@@ -122,7 +122,7 @@
end
| ppType0 s (RECORD [], _) = PP.string s "{}"
| ppType0 s (RECORD tl, _) = let
- fun loop [] = () (* cannot happen *)
+ fun loop [] = () (* cannot happen *)
| loop [(n, t)] = (PP.string s (n ^ " : ");
ppType0 s (t, C_COMMA))
| loop ((n, t) :: tl) = (PP.string s (n ^ " : ");
@@ -145,7 +145,7 @@
PP.string s k;
PP.closeBox s)
| ppType0 s (CON (k, tl), _) = let
- fun loop [] = () (* cannot happen *)
+ fun loop [] = () (* cannot happen *)
| loop [t] = ppType0 s (t, C_COMMA)
| loop (h :: tl) =
(ppType0 s (h, C_COMMA); PP.string s ","; PP.space s 1; loop tl)
Modified: mlton/trunk/mlprof/main.sml
===================================================================
--- mlton/trunk/mlprof/main.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlprof/main.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -460,7 +460,7 @@
fun parse (s: Sexp.t): t =
let
fun err () = Error.bug (Sexp.toString s)
- in
+ in
case s of
Sexp.Atom s =>
(case s of
Modified: mlton/trunk/mlton/ast/tyvar.fun
===================================================================
--- mlton/trunk/mlton/ast/tyvar.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ast/tyvar.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -63,7 +63,7 @@
Region.make {left = left, right = right})
(*val make = Trace.trace2 ("Tyvar.make", String.layout, Bool.layout,
- * layout) make
+ * layout) make
*)
local val c = Counter.new 0
Modified: mlton/trunk/mlton/atoms/c-function.fun
===================================================================
--- mlton/trunk/mlton/atoms/c-function.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/atoms/c-function.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -183,7 +183,7 @@
in
concat
["(", return, attributes,
- "(*)(",
+ "(*)(",
concat (List.separate (Vector.toListMap (args, arg), ", ")),
"))"]
end
Modified: mlton/trunk/mlton/atoms/const.fun
===================================================================
--- mlton/trunk/mlton/atoms/const.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/atoms/const.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -57,7 +57,7 @@
| Real r => RealX.layout r
| Word w => WordX.layout w
| WordVector v => wrap ("\"", "\"", WordXVector.toString v)
-end
+end
val toString = Layout.toString o layout
Modified: mlton/trunk/mlton/atoms/hash-type.fun
===================================================================
--- mlton/trunk/mlton/atoms/hash-type.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/atoms/hash-type.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -168,17 +168,17 @@
(* val substitute =
* Trace.trace2 ("HashType.substitute", layout,
- * List.layout (Layout.tuple2 (Tyvar.layout, Type.layout)),
- * layout) substitute
+ * List.layout (Layout.tuple2 (Tyvar.layout, Type.layout)),
+ * layout) substitute
*)
(* fun equalss (ts: t list): t option =
* case ts of
* t :: ts =>
- * let fun loop [] = SOME t
- * | loop (t' :: ts) = if equals (t, t') then loop ts else NONE
- * in loop ts
- * end
+ * let fun loop [] = SOME t
+ * | loop (t' :: ts) = if equals (t, t') then loop ts else NONE
+ * in loop ts
+ * end
* | [] => Error.bug "HashType.equals"
*)
Modified: mlton/trunk/mlton/atoms/prim.fun
===================================================================
--- mlton/trunk/mlton/atoms/prim.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/atoms/prim.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -120,7 +120,7 @@
| Real_mul of RealSize.t (* codegen *)
| Real_muladd of RealSize.t (* codegen *)
| Real_mulsub of RealSize.t (* codegen *)
- | Real_neg of RealSize.t (* codegen *)
+ | Real_neg of RealSize.t (* codegen *)
| Real_qequal of RealSize.t (* codegen *)
| Real_round of RealSize.t (* codegen *)
| Real_sub of RealSize.t (* codegen *)
@@ -1178,8 +1178,8 @@
wordOrOverflow (s, sg, f (conv w, conv w'))
end
val eq =
- fn (Word w1, Word w2) => bool (WordX.equals (w1, w2))
- | _ => ApplyResult.Unknown
+ fn (Word w1, Word w2) => bool (WordX.equals (w1, w2))
+ | _ => ApplyResult.Unknown
val equal =
fn (Word w1, Word w2) => bool (WordX.equals (w1, w2))
| (WordVector v1, WordVector v2) => bool (WordXVector.equals (v1, v2))
Modified: mlton/trunk/mlton/atoms/prim.sig
===================================================================
--- mlton/trunk/mlton/atoms/prim.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/atoms/prim.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -110,7 +110,7 @@
| Real_mul of RealSize.t (* codegen *)
| Real_muladd of RealSize.t (* codegen *)
| Real_mulsub of RealSize.t (* codegen *)
- | Real_neg of RealSize.t (* codegen *)
+ | Real_neg of RealSize.t (* codegen *)
| Real_qequal of RealSize.t (* codegen *)
| Real_round of RealSize.t (* codegen *)
| Real_sub of RealSize.t (* codegen *)
Modified: mlton/trunk/mlton/atoms/tycon.sig
===================================================================
--- mlton/trunk/mlton/atoms/tycon.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/atoms/tycon.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -17,7 +17,7 @@
signature TYCON =
sig
include ID
- include PRIM_TYCONS
+ include PRIM_TYCONS
sharing type t = tycon
val stats: unit -> Layout.t
Modified: mlton/trunk/mlton/backend/backend.fun
===================================================================
--- mlton/trunk/mlton/backend/backend.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/backend/backend.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -562,7 +562,7 @@
prim = Prim.wordSub WordSize.default})
end
| SetExnStackSlot =>
- (* ExnStack = *(uint* )(stackTop + offset); *)
+ (* ExnStack = *(uint* )(stackTop + offset); *)
Vector.new1
(M.Statement.move
{dst = exnStackOp,
@@ -908,7 +908,7 @@
Vector.concatV
(Vector.map (statements, fn s =>
genStatement (s, handlerLinkOffset)))
- val (preTransfer, transfer) = genTransfer (transfer, chunk)
+ val (preTransfer, transfer) = genTransfer (transfer, chunk)
val (kind, live, pre) =
case kind of
R.Kind.Cont _ =>
Modified: mlton/trunk/mlton/backend/limit-check.fun
===================================================================
--- mlton/trunk/mlton/backend/limit-check.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/backend/limit-check.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -8,15 +8,15 @@
(*
* The goal of limit check insertion is to ensure that
- * 1. At any allocation of b bytes, frontier + b <= base + heapSize
- * 2. At entry to each function, stackTop <= stackLimit
+ * 1. At any allocation of b bytes, frontier + b <= base + heapSize
+ * 2. At entry to each function, stackTop <= stackLimit
*
* It assumes that runtime provides several operands to help with this.
- * Frontier
- * Limit
- * LimitPlusSlop
- * StackLimit
- * StackTop
+ * Frontier
+ * Limit
+ * LimitPlusSlop
+ * StackLimit
+ * StackTop
*
* There are three different kinds of checks inserted, depending on the
* amount being allocated and whether or not the program uses signal
@@ -24,11 +24,11 @@
*
* 1. If b <= LIMIT_SLOP, then continue (don't GC) if
*
- * frontier <= limit
+ * frontier <= limit
*
* The reason this works is that if frontier <= limit and b <=
* LIMIT_SLOP, then
- * frontier + b <= limit + LIMIT_SLOP
+ * frontier + b <= limit + LIMIT_SLOP
* = limitPlusSlop
* = base + heapSize
* This works even if the program uses signal handlers, which set
@@ -37,11 +37,11 @@
* 2. If b > LIMIT_SLOP and if the program doesn't use signal handlers,
* then continue (don't GC) if
*
- * b <= limitPlusSlop - frontier
+ * b <= limitPlusSlop - frontier
*
* The reason this works is that the condition is equivalent to
- *
- * b + frontier <= limitPlusSlop = base + heapSize
+ *
+ * b + frontier <= limitPlusSlop = base + heapSize
*
* We write the condition the way we do instead of the more obvious way
* because "b + frontier" may overflow, while limitPlusSlop - frontier
@@ -50,8 +50,8 @@
* 3. If b > LIMIT_SLOP and if the program uses signal handlers, then
* continue (don't GC) if
*
- * limit > 0
- * and b <= limitPlusSlop - frontier
+ * limit > 0
+ * and b <= limitPlusSlop - frontier
*
* This is like case (2), except that because the program uses signal
* handlers, the runtime may have set limit to zero to indicate that a
Modified: mlton/trunk/mlton/backend/live.fun
===================================================================
--- mlton/trunk/mlton/backend/live.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/backend/live.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -338,7 +338,7 @@
Vector.foreach
(blocks, fn b =>
let
- val l = Block.label b
+ val l = Block.label b
val {begin, beginNoFormals, handler, link} = labelLive l
in
display
Modified: mlton/trunk/mlton/backend/machine.fun
===================================================================
--- mlton/trunk/mlton/backend/machine.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/backend/machine.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -541,14 +541,14 @@
end
fun foldOperands (t, ac, f) =
- case t of
- Arith {args, dst, ...} => Vector.fold (args, f (dst, ac), f)
- | CCall {args, ...} => Vector.fold (args, ac, f)
- | Switch s =>
+ case t of
+ Arith {args, dst, ...} => Vector.fold (args, f (dst, ac), f)
+ | CCall {args, ...} => Vector.fold (args, ac, f)
+ | Switch s =>
Switch.foldLabelUse
(s, ac, {label = fn (_, a) => a,
use = f})
- | _ => ac
+ | _ => ac
fun foldDefs (t, a, f) =
case t of
Modified: mlton/trunk/mlton/backend/packed-representation.fun
===================================================================
--- mlton/trunk/mlton/backend/packed-representation.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/backend/packed-representation.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -401,8 +401,8 @@
val (src, ss2) = Statement.resize (src, w')
val (src, ss3) =
if Bits.equals (w, w')
-(* orelse Type.isZero (Type.dropPrefix (Operand.ty src,
- * WordSize.bits s))
+(* orelse Type.isZero (Type.dropPrefix (Operand.ty src,
+ * WordSize.bits s))
*)
then (src, [])
else
@@ -761,7 +761,7 @@
if 0 = Vector.length pointers
then Bytes.toWords width
else #offset (Vector.sub (pointers, 0))
- val pad =
+ val pad =
{component = Component.padToWidth (Component.unit,
Bits.inWord),
offset = padOffset}
Modified: mlton/trunk/mlton/backend/profile.fun
===================================================================
--- mlton/trunk/mlton/backend/profile.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/backend/profile.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -526,7 +526,7 @@
{args = args,
kind = kind,
label = label}
- in
+ in
List.push (blocks,
Block.T {args = args,
kind = kind,
Modified: mlton/trunk/mlton/backend/rep-type.fun
===================================================================
--- mlton/trunk/mlton/backend/rep-type.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/backend/rep-type.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -510,7 +510,7 @@
NONE)
end,
readsStackTop = true,
- return = unit,
+ return = unit,
target = Direct "GC_gc",
writesStackTop = true}
val t = make true
Modified: mlton/trunk/mlton/backend/runtime.fun
===================================================================
--- mlton/trunk/mlton/backend/runtime.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/backend/runtime.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -29,18 +29,18 @@
val equals: t * t -> bool = op =
(* val ty =
- * fn CanHandle => CType.defaultInt
- * | CardMap => CType.pointer
- * | CurrentThread => CType.pointer
- * | ExnStack => CType.defaultWord
- * | Frontier => CType.pointer
- * | Limit => CType.pointer
- * | LimitPlusSlop => CType.pointer
- * | MaxFrameSize => CType.defaultWord
- * | SignalIsPending => CType.defaultInt
- * | StackBottom => CType.pointer
- * | StackLimit => CType.pointer
- * | StackTop => CType.pointer
+ * fn CanHandle => CType.defaultInt
+ * | CardMap => CType.pointer
+ * | CurrentThread => CType.pointer
+ * | ExnStack => CType.defaultWord
+ * | Frontier => CType.pointer
+ * | Limit => CType.pointer
+ * | LimitPlusSlop => CType.pointer
+ * | MaxFrameSize => CType.defaultWord
+ * | SignalIsPending => CType.defaultInt
+ * | StackBottom => CType.pointer
+ * | StackLimit => CType.pointer
+ * | StackTop => CType.pointer
*)
val canHandleOffset: Bytes.t ref = ref Bytes.zero
Modified: mlton/trunk/mlton/backend/small-int-inf.fun
===================================================================
--- mlton/trunk/mlton/backend/small-int-inf.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/backend/small-int-inf.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -33,8 +33,8 @@
(* val fromString =
* Trace.trace("SmallIntInf.fromString",
- * String.layout,
- * Option.layout layout) fromString
+ * String.layout,
+ * Option.layout layout) fromString
*)
(*
Modified: mlton/trunk/mlton/closure-convert/abstract-value.fun
===================================================================
--- mlton/trunk/mlton/closure-convert/abstract-value.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/closure-convert/abstract-value.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -112,7 +112,7 @@
else (List.push (coercedTo, to)
; send (to, !me))
end
-
+
fun update (c, h, diff) =
if Lambdas.isEmpty diff
then ()
@@ -148,10 +148,10 @@
(*
val unify =
- Trace.trace2
+ Trace.trace2
("AbstractValue.LambdaNode.unify", layout, layout, Unit.layout)
unify
-*)
+*)
end
structure UnaryTycon =
Modified: mlton/trunk/mlton/closure-convert/closure-convert.fun
===================================================================
--- mlton/trunk/mlton/closure-convert/closure-convert.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/closure-convert/closure-convert.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -498,7 +498,7 @@
end
| SOME t => t
fun valueLambdasInfo v =
- case Value.dest v of
+ case Value.dest v of
Value.Lambdas l => lambdasInfo l
| _ => Error.bug "ClosureConvert.valueLambdasInfo: non-lambda"
val varLambdasInfo = valueLambdasInfo o value
@@ -540,10 +540,10 @@
("ClosureConvert.coerce",
Dexp.layout, Value.layout, Value.layout, Dexp.layout)
(* val traceCoerceTuple =
- * let val layoutValues = List.layout (", ", Value.layout)
- * in Trace.trace3 ("ClosureConvert.coerceTuple", Dexp.layout,
- * layoutValues, layoutValues, Dexp.layout)
- * end
+ * let val layoutValues = List.layout (", ", Value.layout)
+ * in Trace.trace3 ("ClosureConvert.coerceTuple", Dexp.layout,
+ * layoutValues, layoutValues, Dexp.layout)
+ * end
*)
fun coerce arg: Dexp.t =
traceCoerce
@@ -595,7 +595,7 @@
end
| _ => Error.bug "ClosureConvert.coerce") arg
and coerceTuple arg =
- (* traceCoerceTuple *)
+ (* traceCoerceTuple *)
(fn (e: Dexp.t,
ty: Type.t, vs: Value.t vector,
ty': Type.t, vs': Value.t vector) =>
@@ -621,7 +621,7 @@
case Prim.name p of
Prim.Name.MLton_installSignalHandler => true
| _ => false)
- (*------------------------------------*)
+ (*------------------------------------*)
(* apply *)
(*------------------------------------*)
fun apply {func, arg, resultVal}: Dexp.t =
Modified: mlton/trunk/mlton/codegen/bytecode/bytecode.fun
===================================================================
--- mlton/trunk/mlton/codegen/bytecode/bytecode.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/bytecode/bytecode.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -357,7 +357,7 @@
in
val arrayOffset = make ("ArrayOffset", false)
val contents = make ("Contents", false)
- val global = make ("Global", true)
+ val global = make ("Global", true)
val offsetOp = make ("Offset", false)
val register = make ("Register", true)
val stackOffset = make ("StackOffset", false)
@@ -369,7 +369,7 @@
fun make name (ls: LoadStore.t): Opcode.t =
opcode (concat [LoadStore.toString ls, name])
in
- val frontier = make "Frontier"
+ val frontier = make "Frontier"
val gcState = make "GCState"
val stackTop = make "StackTop"
end
Modified: mlton/trunk/mlton/codegen/c-codegen/c-codegen.fun
===================================================================
--- mlton/trunk/mlton/codegen/c-codegen/c-codegen.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/c-codegen/c-codegen.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -218,12 +218,12 @@
(CType.all, fn t =>
let
val s = CType.toString t
- in
+ in
print (concat [prefix, s, " global", s,
" [", C.int (Global.numberOfType t), "];\n"])
; print (concat [prefix, s, " CReturn", CType.name t, ";\n"])
end)
- val _ =
+ val _ =
print (concat [prefix, "Pointer globalPointerNonRoot [",
C.int (Global.numberOfNonRoot ()),
"];\n"])
@@ -587,7 +587,7 @@
else concat [dst, " = ", src, ";\n"]
local
datatype z = datatype Operand.t
- fun toString (z: Operand.t): string =
+ fun toString (z: Operand.t): string =
case z of
ArrayOffset {base, index, offset, scale, ty} =>
concat ["X", C.args [Type.toC ty,
@@ -993,7 +993,7 @@
C.call (name, args, print)
end
val _ = afterCall ()
- val _ =
+ val _ =
if modifiesFrontier
then print "\tCacheFrontier();\n"
else ()
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-allocate-registers.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1578,7 +1578,7 @@
then {register = register,
memloc = memloc,
weight = weight,
- sync = sync,
+ sync = sync,
commit = REMOVE 0}
else value,
registerAllocation = registerAllocation}
@@ -4918,7 +4918,7 @@
fltrename,
registerAllocation}
= allocateFltStackOperands'
- {fltregister_top = fltregister_top,
+ {fltregister_top = fltregister_top,
fltregister_one = fltregister_one,
registerAllocation = registerAllocation}
in
@@ -6266,7 +6266,7 @@
assembly_src],
registerAllocation = registerAllocation}
end
- else let
+ else let
val {operand = final_src,
assembly = assembly_src,
registerAllocation}
@@ -6568,7 +6568,7 @@
{assembly
= AppendList.appends
[assembly_pre,
- assembly_src,
+ assembly_src,
assembly_dst,
AppendList.single
(Assembly.instruction instruction),
@@ -8250,7 +8250,7 @@
registerAllocation = registerAllocation}
end
| XCHG {src, dst, size}
- (* Exchange register/memory with register; p. 754
+ (* Exchange register/memory with register; p. 754
* Require src/dst operands as follows:
*
* dst
@@ -8313,7 +8313,7 @@
registerAllocation = registerAllocation}
end
| pPUSH {src, base, size}
- (* Pseudo push a value onto the stack; p. 621
+ (* Pseudo push a value onto the stack; p. 621
* Require src operand as follows:
*
* src
@@ -8703,7 +8703,7 @@
= AppendList.appends
[assembly_pre,
assembly_src,
- assembly_dst,
+ assembly_dst,
AppendList.single
(Assembly.instruction instruction),
assembly_post],
@@ -8758,7 +8758,7 @@
address = false},
info = info,
size = size,
- move = false,
+ move = false,
supports = [],
saves = [src,final_src],
force = [],
@@ -8889,7 +8889,7 @@
address = true},
info = info,
size = srcsize,
- move = true,
+ move = true,
supports = [dst],
saves = [],
force = [],
@@ -8904,7 +8904,7 @@
address = false},
info = info,
size = dstsize,
- move = false,
+ move = false,
supports = [],
saves = [src,final_src],
top = NONE,
@@ -9206,7 +9206,7 @@
address = false},
info = info,
size = size,
- move = true,
+ move = true,
supports = [],
saves = [src2,final_src2],
top = SOME true,
@@ -9444,7 +9444,7 @@
address = false},
info = info,
size = size,
- move = true,
+ move = true,
supports = [],
saves = [src2,final_src2],
top = SOME true,
@@ -9621,7 +9621,7 @@
* * one of src,dst must be st(0)
*
* Require size modifier class as follows: FLT
- *)
+ *)
=> let
val {uses,defs,kills}
= Instruction.uses_defs_kills instruction
@@ -9680,7 +9680,7 @@
address = true},
info = info,
size = size,
- move = true,
+ move = true,
supports = [dst],
saves = [],
top = SOME false,
@@ -9728,7 +9728,7 @@
address = false},
info = info,
size = size,
- move = true,
+ move = true,
supports = [],
saves = [src,final_src],
top = SOME true,
@@ -9783,7 +9783,7 @@
address = false},
info = info,
size = size,
- move = true,
+ move = true,
supports = [],
saves = [dst,final_dst],
top = SOME true,
@@ -9835,7 +9835,7 @@
address = false},
info = info,
size = size,
- move = true,
+ move = true,
supports = [],
saves = [dst,final_dst],
top = SOME false,
@@ -9911,7 +9911,7 @@
address = false},
info = info,
size = size,
- move = true,
+ move = true,
supports = [],
saves = [dst,final_dst],
top = SOME true,
@@ -10085,7 +10085,7 @@
* * only st(0)
*
* Require size modifier class as follows: FLT
- *)
+ *)
=> let
val {uses,defs,kills}
= Instruction.uses_defs_kills instruction
@@ -10151,7 +10151,7 @@
*
* Require size modifier class as follows: FLT
* Automatically pushes 1.0 onto stack.
- *)
+ *)
=> let
val {uses,defs,kills}
= Instruction.uses_defs_kills instruction
@@ -10238,7 +10238,7 @@
* * only st(0)
*
* Require size modifier class as follows: FLT
- *)
+ *)
=> let
val {uses,defs,kills}
= Instruction.uses_defs_kills instruction
@@ -10310,7 +10310,7 @@
* * only st(1)
*
* Require size modifier class as follows: FLT
- *)
+ *)
=> let
val {uses,defs,kills}
= Instruction.uses_defs_kills instruction
@@ -10331,7 +10331,7 @@
operand_one = dst,
move_one = true,
size_one = size,
- info = info,
+ info = info,
supports = [],
saves = [],
registerAllocation = registerAllocation}
@@ -10671,7 +10671,7 @@
fun allocateRegisters {assembly: (t * Liveness.t) list,
registerAllocation: RegisterAllocation.t}
- = let
+ = let
val {assembly, registerAllocation}
= List.fold
(assembly,
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-generate-transfers.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-generate-transfers.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-generate-transfers.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -342,7 +342,7 @@
setLayoutInfo(label, SOME block)
end)
- val {get = getProfileLabel : Label.t -> ProfileLabel.t option,
+ val {get = getProfileLabel : Label.t -> ProfileLabel.t option,
set = setProfileLabel,
destroy = destProfileLabel}
= Property.destGetSetOnce
@@ -358,7 +358,7 @@
setProfileLabel(label, profileLabel)
end)
- local
+ local
val stack = ref []
val queue = ref (Queue.empty ())
in
@@ -532,7 +532,7 @@
= fi
val finish
= AppendList.appends
- [let
+ [let
val stackTop
= x86MLton.gcState_stackTopContentsOperand ()
val bytes
@@ -1108,7 +1108,7 @@
(AppendList.append
(if Size.eq (size, Size.DBLE)
then AppendList.fromList
- [Assembly.instruction_binal
+ [Assembly.instruction_binal
{oper = Instruction.SUB,
dst = c_stackP,
src = Operand.immediate_const_int 8,
@@ -1119,7 +1119,7 @@
size = size}]
else if Size.eq (size, Size.SNGL)
then AppendList.fromList
- [Assembly.instruction_binal
+ [Assembly.instruction_binal
{oper = Instruction.SUB,
dst = c_stackP,
src = Operand.immediate_const_int 4,
@@ -1789,7 +1789,7 @@
and fallDefault (gef as GEF {generate,...})
{label, live} : Assembly.t AppendList.t
- = let
+ = let
datatype z = datatype x86JumpInfo.status
val liveRegsTransfer = getLiveRegsTransfers
(liveTransfers, label)
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-jump-info.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-jump-info.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-jump-info.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -102,7 +102,7 @@
else (print "verifyJumpInfo: ";
print (Label.toString label);
print "\n";
- print "jumpInfo: ";
+ print "jumpInfo: ";
print (status_toString (getNear(jumpInfo, label)));
print "\n";
print "jumpInfo': ";
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-live-transfers.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-live-transfers.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-live-transfers.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -733,7 +733,7 @@
of SOME (_,register',_)
=> (memloc,weight,SOME register')
| NONE
- => (memloc,weight,NONE))
+ => (memloc,weight,NONE))
val rec doitRegs
= fn ([],_,liveTransfers) => liveTransfers
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -142,7 +142,7 @@
dead = dead2})
= LiveSet.equals(liveIn1, liveIn2) andalso
LiveSet.equals(liveOut1, liveOut2) andalso
- LiveSet.equals(dead1, dead2)
+ LiveSet.equals(dead1, dead2)
fun liveness ({uses : LiveSet.t,
defs : LiveSet.t,
@@ -390,7 +390,7 @@
fun doit ()
= (case get_todo ()
of NONE => ()
- | SOME label
+ | SOME label
=> let
val {pred, block, ...} = getBlockInfo label
val block = valOf (!block)
@@ -417,8 +417,8 @@
print "\n";
if true
then (print "old: ";
- LiveSet.foreach
- (live', fn m =>
+ LiveSet.foreach
+ (live', fn m =>
(print (MemLoc.toString m);
print " "));
print "\n";
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.sig
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-liveness.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -95,7 +95,7 @@
val verifyLivenessBlock : {block: t,
liveInfo: LiveInfo.t} -> bool
val verifyLivenessBlock_msg : unit -> unit
- val toBlock : {block: t} -> x86.Block.t
+ val toBlock : {block: t} -> x86.Block.t
val toBlock_msg : unit -> unit
end
end
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-mlton-basic.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-mlton-basic.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-mlton-basic.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -46,7 +46,7 @@
val Locals = new "Locals"
val Globals = new "Globals"
- val Temp = MemLoc.Class.Temp
+ val Temp = MemLoc.Class.Temp
val StaticTemp = MemLoc.Class.StaticTemp
val CStack = MemLoc.Class.CStack
val Code = MemLoc.Class.Code
@@ -69,7 +69,7 @@
fun initClasses ()
= let
- val _ = allClasses :=
+ val _ = allClasses :=
x86.ClassSet.fromList
(
Heap::
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-mlton.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-mlton.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-mlton.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -546,7 +546,7 @@
transfer = NONE}]
| NONE => AppendList.fromList
[Block.mkBlock'
- {entry = NONE,
+ {entry = NONE,
statements
= [Assembly.instruction_cmp
{src1 = src1,
@@ -664,7 +664,7 @@
= Assert.assert
("x86MLton.prim: flogarithm, dstsize/srcsize",
fn () => srcsize = dstsize)
- in
+ in
AppendList.fromList
[Block.mkBlock'
{entry = NONE,
@@ -730,7 +730,7 @@
[comment_begin,
(case Prim.name prim of
FFI_Symbol {name, ...}
- => let
+ => let
val (dst,dstsize) = getDst1 ()
in
AppendList.fromList
@@ -957,7 +957,7 @@
size = dstsize}],
transfer = NONE}]
end
- | Real_Math_ln _ => flogarithm Instruction.LN2
+ | Real_Math_ln _ => flogarithm Instruction.LN2
| Real_Math_log10 _ => flogarithm Instruction.LG2
| Real_Math_sin _ => funa Instruction.FSIN
| Real_Math_sqrt _ => funa Instruction.FSQRT
@@ -1155,7 +1155,7 @@
srcsize = srcsize,
dstsize = dstsize}],
transfer = NONE}]
- in
+ in
case (s, s') of
(R64, R64) => mov ()
| (R64, R32) => xvom ()
@@ -1475,7 +1475,7 @@
fun check (statements, condition)
= AppendList.single
(x86.Block.mkBlock'
- {entry = NONE,
+ {entry = NONE,
statements = statements,
transfer = SOME (x86.Transfer.iff
{condition = condition,
@@ -1566,30 +1566,30 @@
size = dst2size}],
condition)
end
- fun pmd (oper: x86.Instruction.md, condition)
- = let
+ fun pmd (oper: x86.Instruction.md, condition)
+ = let
val (dst, dstsize) = getDst1 ()
val ((src1, src1size), (src2, src2size)) = getSrc2 ()
val _ = Assert.assert
("x86MLton.arith: pmd, dstsize/src1size/src2size",
fn () => src1size = dstsize andalso src2size = dstsize)
- (* Reverse src1/src2 when src1 and src2 are
- * temporaries and the oper is commutative.
- *)
- val (src1, src2)
- = if oper = x86.Instruction.MUL
- then case (x86.Operand.deMemloc src1,
- x86.Operand.deMemloc src2)
- of (SOME memloc_src1, SOME memloc_src2)
- => if x86Liveness.track memloc_src1
- andalso
- x86Liveness.track memloc_src2
- then (src2,src1)
- else (src1,src2)
- | _ => (src1,src2)
- else (src1,src2)
- in
- check ([Assembly.instruction_mov
+ (* Reverse src1/src2 when src1 and src2 are
+ * temporaries and the oper is commutative.
+ *)
+ val (src1, src2)
+ = if oper = x86.Instruction.MUL
+ then case (x86.Operand.deMemloc src1,
+ x86.Operand.deMemloc src2)
+ of (SOME memloc_src1, SOME memloc_src2)
+ => if x86Liveness.track memloc_src1
+ andalso
+ x86Liveness.track memloc_src2
+ then (src2,src1)
+ else (src1,src2)
+ | _ => (src1,src2)
+ else (src1,src2)
+ in
+ check ([Assembly.instruction_mov
{dst = dst,
src = src1,
size = dstsize},
@@ -1599,7 +1599,7 @@
src = src2,
size = dstsize}],
condition)
- end
+ end
fun unal (oper: x86.Instruction.unal, condition)
= let
val (dst, dstsize) = getDst1 ()
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-pseudo.sig
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-pseudo.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-pseudo.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -55,7 +55,7 @@
| ShiftLeft
| ShiftRight
| BitOr
- | BitAnd
+ | BitAnd
| BitXor
| BitOrNot
| Addition
@@ -479,7 +479,7 @@
end
structure Block :
- sig
+ sig
type t'
val mkBlock': {entry: Entry.t option,
statements: Assembly.t list,
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-simplify.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-simplify.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-simplify.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -395,7 +395,7 @@
{src = Operand.Immediate _,
...})
=> true
- | _ => false
+ | _ => false
val isInstructionBinALMD_operCommute : statement_type -> bool
= fn Assembly.Instruction (Instruction.BinAL
@@ -753,7 +753,7 @@
| _ => NONE
val isInstructionMULorDIV_srcImmediatePow2 : statement_type -> bool
- = fn Assembly.Instruction (Instruction.pMD
+ = fn Assembly.Instruction (Instruction.pMD
{oper,
src = Operand.Immediate immediate,
...})
@@ -765,7 +765,7 @@
| _ => false)
andalso
isImmediatePow2 (Immediate.destruct immediate)
- | Assembly.Instruction (Instruction.IMUL2
+ | Assembly.Instruction (Instruction.IMUL2
{src = Operand.Immediate immediate,
...})
=> isImmediatePow2 (Immediate.destruct immediate)
@@ -1348,7 +1348,7 @@
transfer = transfer})
end
else NONE)
- | _ => Error.bug "x86Simplify.PeeholeBlock: elimMDPow2"
+ | _ => Error.bug "x86Simplify.PeeholeBlock: elimMDPow2"
val (callback,elimMDPow2_msg)
= make_callback_msg "elimMDPow2"
@@ -1618,16 +1618,16 @@
local
val optimizations_pre
= commuteBinALMD::
-(* elimBinAL0L:: *)
-(* elimBinAL0R:: *)
+(* elimBinAL0L:: *)
+(* elimBinAL0R:: *)
elimAddSub1::
elimMDPow2::
elimCMPTEST::
nil
val optimizations_pre_msg
= commuteBinALMD_msg::
-(* elimBinAL0L_msg:: *)
-(* elimBinAL0R_msg:: *)
+(* elimBinAL0L_msg:: *)
+(* elimBinAL0R_msg:: *)
elimAddSub1_msg::
elimMDPow2_msg::
nil
@@ -1852,13 +1852,13 @@
Transfer.iff {condition = Instruction.E,
truee = target,
falsee = default})
- end
+ end
else (statements,
Transfer.switch {test = test,
cases = cases,
default = default})
in
- SOME (Block.T {entry = entry,
+ SOME (Block.T {entry = entry,
profileLabel = profileLabel,
statements = statements,
transfer = transfer})
@@ -3189,7 +3189,7 @@
{entry = entry,
profileLabel = profileLabel,
statements = statements,
- transfer = transfer})
+ transfer = transfer})
end
else NONE
| _ => Error.bug "x86Simplify.PeeholeBlock: elimALCopy"
@@ -3390,10 +3390,10 @@
op ::)
in
SOME (LivenessBlock.T
- {entry = entry,
+ {entry = entry,
profileLabel = profileLabel,
statements = statements,
- transfer = transfer})
+ transfer = transfer})
end
else NONE
| {entry,
@@ -3475,7 +3475,7 @@
{entry = entry,
profileLabel = profileLabel,
statements = statements,
- transfer = transfer})
+ transfer = transfer})
end
else NONE
| {entry,
@@ -3555,7 +3555,7 @@
{entry = entry,
profileLabel = profileLabel,
statements = statements,
- transfer = transfer})
+ transfer = transfer})
end
else NONE
| _ => Error.bug "x86Simplify.PeeholeBlock: commuteBinALMD"
@@ -3743,7 +3743,7 @@
{entry = entry,
profileLabel = profileLabel,
statements = statements,
- transfer = transfer})
+ transfer = transfer})
end
else NONE
| _ => Error.bug "x86Simplify.PeeholeBlock: elimFltACopy"
@@ -3908,10 +3908,10 @@
op ::)
in
SOME (LivenessBlock.T
- {entry = entry,
+ {entry = entry,
profileLabel = profileLabel,
statements = statements,
- transfer = transfer})
+ transfer = transfer})
end
else NONE
| _ => Error.bug "x86Simplify.PeeholeBlock: commuteFltBinA"
@@ -4327,7 +4327,7 @@
changed = changed',
msg = "ElimGoto.elimGoto:"}
val chunk = chunk'
- val changed = changed orelse changed'
+ val changed = changed orelse changed'
(**************************************************************)
(* peepholeBlock/moveHoist/peepholeLivenessBlock/copyPropagate*)
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-translate.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-translate.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-translate.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -76,7 +76,7 @@
val rec toX86Operand : t -> (x86.Operand.t * x86.Size.t) vector =
fn ArrayOffset {base, index, offset, scale, ty}
- => let
+ => let
val base = toX86Operand base
val _ = Assert.assert("x86Translate.Operand.toX86Operand: Array/base",
fn () => Vector.length base = 1)
@@ -153,7 +153,7 @@
| _ => Error.bug (concat
["x86Translate.Operand.toX86Operand: ",
"strange Contents: base: ",
- x86.Operand.toString base])
+ x86.Operand.toString base])
val sizes = x86.Size.fromCType ty
in
(#1 o Vector.mapAndFold)
@@ -456,7 +456,7 @@
comment_end]
end
| PrimApp {dst, prim, args}
- => let
+ => let
val (comment_begin, comment_end) = comments statement
val args = (Vector.concatV o Vector.map)
(args, Operand.toX86Operand)
@@ -619,7 +619,7 @@
(args, Operand.toX86Operand)
in
AppendList.append
- (comments transfer,
+ (comments transfer,
x86MLton.ccall {args = args,
frameInfo = (Option.map
(frameInfo, frameInfoToX86)),
@@ -649,7 +649,7 @@
case x86.Operand.deMemloc operand of
SOME memloc => x86.MemLocSet.add(live, memloc)
| NONE => live))})}))
- | Raise
+ | Raise
=> AppendList.append
(comments transfer,
AppendList.single
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86-validate.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86-validate.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86-validate.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -126,7 +126,7 @@
=> if srcsize = size
then ()
else Error.bug "x86Validate.Instruction.validate: BinAL, srcsize"
- val _ = case Operand.size dst
+ val _ = case Operand.size dst
of NONE => ()
| SOME dstsize
=> if dstsize = size
@@ -209,7 +209,7 @@
=> if srcsize = size
then ()
else Error.bug "x86Validate.Instruction.validate: IMUL2, srcsize"
- val _ = case Operand.size dst
+ val _ = case Operand.size dst
of NONE => ()
| SOME dstsize
=> if dstsize = size
@@ -250,7 +250,7 @@
val _ = if Size.class size = Size.INT
then ()
else Error.bug "x86Validate.Instruction.validate: UnAL, size"
- val _ = case Operand.size dst
+ val _ = case Operand.size dst
of NONE => ()
| SOME dstsize
=> if dstsize = size
@@ -285,11 +285,11 @@
*
* Require size modifier class as follows: INT
*)
- => let
+ => let
val _ = if Size.class size = Size.INT
then ()
else Error.bug "x86Validate.Instruction.validate: SRAL, size"
- val _ = case Operand.size dst
+ val _ = case Operand.size dst
of NONE => ()
| SOME dstsize
=> if dstsize = size
@@ -347,7 +347,7 @@
=> if src1size = size
then ()
else Error.bug "x86Validate.Instruction.validate: CMP, src1size"
- val _ = case Operand.size src2
+ val _ = case Operand.size src2
of NONE => ()
| SOME src2size
=> if src2size = size
@@ -397,7 +397,7 @@
=> if src1size = size
then ()
else Error.bug "x86Validate.Instruction.validate: TEST, src1size"
- val _ = case Operand.size src2
+ val _ = case Operand.size src2
of NONE => ()
| SOME src2size
=> if src2size = size
@@ -412,7 +412,7 @@
| (Operand.FltRegister _, _)
=> Error.bug "x86Validate.Instruction.validate: TEST, src1: FltRegister"
| (Operand.Immediate _, _)
- => Error.bug "x86Validate.Instruction.validate: TEST, src1:Immediate"
+ => Error.bug "x86Validate.Instruction.validate: TEST, src1:Immediate"
| (Operand.Label _, _)
=> Error.bug "x86Validate.Instruction.validate: TEST, src1:Label"
| (_, Operand.FltRegister _)
@@ -559,7 +559,7 @@
=> if srcsize = size
then ()
else Error.bug "x86Validate.Instruction.validate: MOV, srcsize"
- val _ = case Operand.size dst
+ val _ = case Operand.size dst
of NONE => ()
| SOME dstsize
=> if dstsize = size
@@ -610,7 +610,7 @@
=> if srcsize = size
then ()
else Error.bug "x86Validate.Instruction.validate: CMOVcc, srcsize"
- val _ = case Operand.size dst
+ val _ = case Operand.size dst
of NONE => ()
| SOME dstsize
=> if dstsize = size
@@ -627,7 +627,7 @@
| (Operand.Immediate _, _)
=> Error.bug "x86Validate.Instruction.validate: CMOVcc, src:Immediate"
| (Operand.Label _, _)
- => Error.bug "x86Validate.Instruction.validate: CMOVcc, src:Label"
+ => Error.bug "x86Validate.Instruction.validate: CMOVcc, src:Label"
| (_, Operand.FltRegister _)
=> Error.bug "x86Validate.Instruction.validate: CMOVcc, dst:FltRegister"
| (_, Operand.Immediate _)
@@ -640,7 +640,7 @@
(Operand.validate {operand = dst})
end
| XCHG {src, dst, size}
- (* Exchange register/memory with register; p. 754
+ (* Exchange register/memory with register; p. 754
* Require src/dst operands as follows:
*
* dst
@@ -662,7 +662,7 @@
=> if srcsize = size
then ()
else Error.bug "x86Validate.Instruction.validate: XCHG, srcsize"
- val _ = case Operand.size dst
+ val _ = case Operand.size dst
of NONE => ()
| SOME dstsize
=> if dstsize = size
@@ -707,7 +707,7 @@
of Size.WORD => ()
| Size.LONG => ()
| _ => Error.bug "x86Validate.Instruction.validate: PUSH, size"
- val _ = case Operand.size src
+ val _ = case Operand.size src
of NONE => ()
| SOME srcsize
=> if srcsize = size
@@ -743,7 +743,7 @@
of Size.WORD => ()
| Size.LONG => ()
| _ => Error.bug "x86Validate.Instruction.validate: POP, size"
- val _ = case Operand.size dst
+ val _ = case Operand.size dst
of NONE => ()
| SOME dstsize
=> if dstsize = size
@@ -798,7 +798,7 @@
=> if srcsize' = srcsize
then ()
else Error.bug "x86Validate.Instruction.validate: MOVX, srcsize"
- val _ = case Operand.size dst
+ val _ = case Operand.size dst
of NONE => ()
| SOME dstsize'
=> if dstsize' = dstsize
@@ -883,7 +883,7 @@
* X X
*
* Require size modifier class as follows: FLT
- *)
+ *)
=> let
val _ = if Size.class size = Size.FLT
then ()
@@ -943,7 +943,7 @@
* X
*
* Require size modifier class as follows: FPI
- *)
+ *)
=> let
val _ = if Size.class size = Size.FPI
then ()
@@ -971,7 +971,7 @@
* X
*
* Require size modifier class as follows: FPI
- *)
+ *)
=> let
val _ = if Size.class size = Size.FPI
then ()
@@ -1023,7 +1023,7 @@
* reg imm lab add
* X
*)
- => let
+ => let
in
case src
of Operand.MemLoc _
@@ -1046,7 +1046,7 @@
* reg imm lab add
* X
*)
- => let
+ => let
in
case dst
of Operand.MemLoc _
@@ -1070,7 +1070,7 @@
* * X
* * only register %ax
*)
- => let
+ => let
in
case dst
of Operand.MemLoc _
@@ -1180,7 +1180,7 @@
* Require size modifier class as follows: FLT*
* * FLT(SNGL,DBLE) if src add
* * FLT(SNGL,DBLE,EXTD)
- *)
+ *)
=> let
val _ = if Size.class size = Size.FLT
then case src
@@ -1254,7 +1254,7 @@
open x86.Assembly
fun validate {assembly: t list} : bool
- = List.fold(assembly,
+ = List.fold(assembly,
true,
fn (Comment _, b)
=> b
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86.fun
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1169,7 +1169,7 @@
size = size,
class = class})
val shift = fn {origin, disp, scale, size}
- => let
+ => let
val disp =
Immediate.binexp
{oper = Immediate.Multiplication,
@@ -1280,7 +1280,7 @@
local
structure MemLocElement =
struct
- type t = MemLoc.t
+ type t = MemLoc.t
val equals = MemLoc.eq
val layout = MemLoc.layout
(*
@@ -2043,7 +2043,7 @@
str " ",
Operand.layout target]
| CALL {target, absolute}
- => seq [str "call ",
+ => seq [str "call ",
if absolute then str "*" else empty,
Operand.layout target]
| RET {src}
@@ -2165,7 +2165,7 @@
Operand.layout src,
Operand.layout dst)
| pFUnA {oper, dst, size}
- => un (funa_layout oper,
+ => un (funa_layout oper,
Size.layout size,
Operand.layout dst)
| pFPTAN {dst, size}
@@ -4006,7 +4006,7 @@
", "),
"]"]
| Raise {live}
- => concat ["RAISE",
+ => concat ["RAISE",
" [",
(concat o List.separate)
(MemLocSet.fold
Modified: mlton/trunk/mlton/codegen/x86-codegen/x86.sig
===================================================================
--- mlton/trunk/mlton/codegen/x86-codegen/x86.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/codegen/x86-codegen/x86.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -138,7 +138,7 @@
| ShiftLeft
| ShiftRight
| BitOr
- | BitAnd
+ | BitAnd
| BitXor
| BitOrNot
| Addition
@@ -445,7 +445,7 @@
| IMUL2 of {src: Operand.t,
dst: Operand.t,
size: Size.t}
- (* Integer unary arithmetic/logic instructions.
+ (* Integer unary arithmetic/logic instructions.
*)
| UnAL of {oper: unal,
dst: Operand.t,
@@ -565,7 +565,7 @@
size: Size.t}
(* Pseudo floating-point move from integer.
*)
- | pFMOVFI of {src: Operand.t,
+ | pFMOVFI of {src: Operand.t,
dst: Operand.t,
srcsize: Size.t,
dstsize: Size.t}
@@ -574,7 +574,7 @@
| pFMOVTI of {src: Operand.t,
dst: Operand.t,
srcsize: Size.t,
- dstsize: Size.t}
+ dstsize: Size.t}
(* Pseudo floating-point compare.
*)
| pFCOM of {src1: Operand.t,
@@ -643,7 +643,7 @@
*)
| FSTCW of {dst: Operand.t,
check: bool}
- (* Floating-point store status word.
+ (* Floating-point store status word.
*)
| FSTSW of {dst: Operand.t,
check: bool}
@@ -757,7 +757,7 @@
* used at bot of basic blocks to establish passing convention,
*)
| ClearFlt
- (* Save the register allocation in id and
+ (* Save the register allocation in id and
* assert that live are used at this point;
* used at bot of basic blocks to delay establishment
* of passing convention to compensation block
@@ -817,7 +817,7 @@
| Balign of Immediate.t * Immediate.t option * Immediate.t option
| P2align of Immediate.t * Immediate.t option * Immediate.t option
| Space of Immediate.t * Immediate.t
- | Byte of Immediate.t list
+ | Byte of Immediate.t list
| Word of Immediate.t list
| Long of Immediate.t list
| String of string list
Modified: mlton/trunk/mlton/control/region.sig
===================================================================
--- mlton/trunk/mlton/control/region.sig 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/control/region.sig 2005-08-21 18:31:31 UTC (rev 4020)
@@ -36,10 +36,10 @@
val node: 'a t -> 'a
val makeRegion: 'a * region -> 'a t
val makeRegion': 'a * SourcePos.t * SourcePos.t -> 'a t
-(* val make: 'a -> 'a t *)
+(* val make: 'a -> 'a t *)
val dest: 'a t -> 'a * region
-(* val left: 'a t -> int *)
-(* val right: 'a t -> int *)
+(* val left: 'a t -> int *)
+(* val right: 'a t -> int *)
end
sharing type Wrap.region = t
end
Modified: mlton/trunk/mlton/core-ml/core-ml.fun
===================================================================
--- mlton/trunk/mlton/core-ml/core-ml.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/core-ml/core-ml.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -458,39 +458,39 @@
Layout.align (Vector.toListMap (decs, Dec.layout))
(* fun typeCheck (T {decs, ...}) =
- * let
- * fun checkExp (e: Exp.t): Ty.t =
- * let
- * val (n, t) = Exp.dest e
- * val
- * datatype z = datatype Exp.t
- * val t' =
- * case n of
- * App (e1, e2) =>
- * let
- * val t1 = checkExp e1
- * val t2 = checkExp e2
- * in
- * case Type.deArrowOpt t1 of
- * NONE => error "application of non-function"
- * | SOME (u1, u2) =>
- * if Type.equals (u1, t2)
- * then t2
- * else error "function/argument mismatch"
- * end
- * | Case {rules, test} =>
- * let
- * val {pat, exp} = Vector.sub (rules, 0)
- * in
- * Vector.foreach (rules, fn {pat, exp} =>
- * Type.equals
- * (checkPat pat,
- * end
- * in
- *
- * end
- * in
- * end
+ * let
+ * fun checkExp (e: Exp.t): Ty.t =
+ * let
+ * val (n, t) = Exp.dest e
+ * val
+ * datatype z = datatype Exp.t
+ * val t' =
+ * case n of
+ * App (e1, e2) =>
+ * let
+ * val t1 = checkExp e1
+ * val t2 = checkExp e2
+ * in
+ * case Type.deArrowOpt t1 of
+ * NONE => error "application of non-function"
+ * | SOME (u1, u2) =>
+ * if Type.equals (u1, t2)
+ * then t2
+ * else error "function/argument mismatch"
+ * end
+ * | Case {rules, test} =>
+ * let
+ * val {pat, exp} = Vector.sub (rules, 0)
+ * in
+ * Vector.foreach (rules, fn {pat, exp} =>
+ * Type.equals
+ * (checkPat pat,
+ * end
+ * in
+ *
+ * end
+ * in
+ * end
*)
end
Modified: mlton/trunk/mlton/defunctorize/defunctorize.fun
===================================================================
--- mlton/trunk/mlton/defunctorize/defunctorize.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/defunctorize/defunctorize.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -163,7 +163,7 @@
| RaiseMatch => raiseExn (fn _ => Xexp.match, true)
end
val examples = ref (fn () => Vector.new0 ())
- fun matchCompile () =
+ fun matchCompile () =
let
val testVar = Var.newNoname ()
val decs = ref []
@@ -535,7 +535,7 @@
fun loopDec (d: Cdec.t) =
let
(* Use open Cdec instead of the following due to an SML/NJ bug *)
-(* datatype z = datatype Cdec.t *)
+(* datatype z = datatype Cdec.t *)
open Cdec
in
case d of
@@ -713,7 +713,7 @@
var = var}
end)
(* Use open Cdec instead of the following due to an SML/NJ bug *)
-(* datatype z = datatype Cdec.t *)
+(* datatype z = datatype Cdec.t *)
open Cdec
in
case d of
Modified: mlton/trunk/mlton/elaborate/elaborate-core.fun
===================================================================
--- mlton/trunk/mlton/elaborate/elaborate-core.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/elaborate/elaborate-core.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -77,7 +77,7 @@
structure CFunction = CFunction
structure CType = CType
structure CharSize = CharSize
- structure Convention = CFunction.Convention
+ structure Convention = CFunction.Convention
structure Con = Con
structure Const = Const
structure ConstType = Const.ConstType
@@ -1782,7 +1782,7 @@
approximate
(seq
(separate
- (Vector.toListMap
+ (Vector.toListMap
(clauses, fn {lay, ...} => lay ()),
" | ")))]
end
Modified: mlton/trunk/mlton/elaborate/elaborate-env.fun
===================================================================
--- mlton/trunk/mlton/elaborate/elaborate-env.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/elaborate/elaborate-env.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -2851,7 +2851,7 @@
seq [str "variable type in structure disagrees with ",
str sign],
align [seq [str "variable: ",
- Longvid.layout
+ Longvid.layout
(Longvid.long (rev strids, name))],
rest])
end
Modified: mlton/trunk/mlton/elaborate/elaborate-modules.fun
===================================================================
--- mlton/trunk/mlton/elaborate/elaborate-modules.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/elaborate/elaborate-modules.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -84,7 +84,7 @@
SigConst.None => (Decs.empty, S)
| SigConst.Opaque sigexp => s (sigexp, true)
| SigConst.Transparent sigexp => s (sigexp, false)
- end
+ end
fun elabStrdec (arg: Strdec.t * string list): Decs.t =
Trace.traceInfo' (elabStrdecInfo,
Layout.tuple2 (Strdec.layout,
Modified: mlton/trunk/mlton/elaborate/interface.fun
===================================================================
--- mlton/trunk/mlton/elaborate/interface.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/elaborate/interface.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -202,7 +202,7 @@
fun arrow (t1, t2) = Con (Tycon.arrow, Vector.new2 (t1, t2))
- val bogus = Con (Tycon.exn, Vector.new0 ())
+ val bogus = Con (Tycon.exn, Vector.new0 ())
val con = Con
Modified: mlton/trunk/mlton/elaborate/type-env.fun
===================================================================
--- mlton/trunk/mlton/elaborate/type-env.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/elaborate/type-env.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -776,9 +776,9 @@
fun isCharX t =
case toType t of
- Con (c, _) => Tycon.isCharX c
+ Con (c, _) => Tycon.isCharX c
| Overload Overload.Char => true
- | _ => false
+ | _ => false
fun isExn t =
case toType t of
Modified: mlton/trunk/mlton/front-end/ml.grm
===================================================================
--- mlton/trunk/mlton/front-end/ml.grm 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/front-end/ml.grm 2005-08-21 18:31:31 UTC (rev 4020)
@@ -601,8 +601,8 @@
sigexp'nodeleft,
sigexp'noderight))
-sigexp'node : sigid (Sigexp.Var sigid)
- | SIG specs END (Sigexp.Spec specs)
+sigexp'node : sigid (Sigexp.Var sigid)
+ | SIG specs END (Sigexp.Spec specs)
sigbinds': (([], defaultPos, []))
| AND sigbinds (([], defaultPos, sigbinds))
@@ -625,13 +625,13 @@
spec : specnode (Spec.makeRegion' (specnode, specnodeleft, specnoderight))
-specnode : VAL valdescs (Spec.Val (Vector.fromList valdescs))
+specnode : VAL valdescs (Spec.Val (Vector.fromList valdescs))
| TYPE typdescs (Spec.Type (Vector.fromList typdescs))
- | TYPE typBind (Spec.TypeDefs typBind)
- | EQTYPE typdescs (Spec.Eqtype (Vector.fromList typdescs))
+ | TYPE typBind (Spec.TypeDefs typBind)
+ | EQTYPE typdescs (Spec.Eqtype (Vector.fromList typdescs))
| DATATYPE datatypeRhsNoWithtype (Spec.Datatype datatypeRhsNoWithtype)
- | EXCEPTION exndescs (Spec.Exception (Vector.fromList exndescs))
- | STRUCTURE strdescs (Spec.Structure (Vector.fromList strdescs))
+ | EXCEPTION exndescs (Spec.Exception (Vector.fromList exndescs))
+ | STRUCTURE strdescs (Spec.Structure (Vector.fromList strdescs))
| INCLUDE sigexp (Spec.IncludeSigexp sigexp)
| INCLUDE sigid sigids (* p. 59 *)
(Spec.IncludeSigids (Vector.fromList (sigid :: sigids)) )
@@ -665,17 +665,17 @@
typdescs : typdesc ([typdesc])
| typdesc AND typdescs (typdesc :: typdescs)
-typdesc : tyvars tycon ({tyvars = tyvars,
+typdesc : tyvars tycon ({tyvars = tyvars,
tycon = tycon})
valdescs : valdesc ([valdesc])
- | valdesc AND valdescs (valdesc :: valdescs)
+ | valdesc AND valdescs (valdesc :: valdescs)
-valdesc : var COLON ty (Con.ensureSpecify (Vid.toCon (Vid.fromVar var))
+valdesc : var COLON ty (Con.ensureSpecify (Vid.toCon (Vid.fromVar var))
; (var, ty))
exndescs : exndesc ([exndesc])
- | exndesc AND exndescs (exndesc :: exndescs)
+ | exndesc AND exndescs (exndesc :: exndescs)
exndesc : con tyOpt (Con.ensureSpecify con; (con, tyOpt))
@@ -714,10 +714,10 @@
(* Declarations *)
(*---------------------------------------------------*)
-decs : (Dec.makeRegion' (Dec.SeqDec (Vector.new0 ()),
+decs : (Dec.makeRegion' (Dec.SeqDec (Vector.new0 ()),
defaultPos, defaultPos))
| dec decs (Dec.sequence (dec,decs))
- | SEMICOLON decs (decs)
+ | SEMICOLON decs (decs)
dec : decnode (Dec.makeRegion' (decnode, decnodeleft, decnoderight))
@@ -731,16 +731,16 @@
| VAL tyvarseq valbindTop (Dec.Val {tyvars = tyvarseq,
vbs = #1 valbindTop,
rvbs = #2 valbindTop})
- | FUN funs (Dec.Fun (Vector.new0 (), Vector.fromList funs))
- | FUN tyvarseq funs (Dec.Fun (tyvarseq, Vector.fromList funs))
- | TYPE typBind (Dec.Type typBind)
+ | FUN funs (Dec.Fun (Vector.new0 (), Vector.fromList funs))
+ | FUN tyvarseq funs (Dec.Fun (tyvarseq, Vector.fromList funs))
+ | TYPE typBind (Dec.Type typBind)
| DATATYPE datatypeRhs (Dec.Datatype datatypeRhs)
| ABSTYPE datBind WITH decs END (Dec.Abstype {datBind = datBind,
body = decs})
| EXCEPTION ebs
(Dec.Exception (Vector.fromList ebs))
- | OPEN longstrids (Dec.Open (Vector.fromList longstrids))
- | fixity vids (Dec.Fix {fixity = fixity,
+ | OPEN longstrids (Dec.Open (Vector.fromList longstrids))
+ | fixity vids (Dec.Fix {fixity = fixity,
ops = Vector.fromList vids})
| OVERLOAD priority var COLON ty AS longvarands
(Dec.Overload (priority,
@@ -756,7 +756,7 @@
Vector.fromList rvbs)
end)
-valbind : pat EQUALOP exp valbindRest
+valbind : pat EQUALOP exp valbindRest
(let
val (vbs, rvbs) = valbindRest
in
@@ -776,18 +776,18 @@
rvalbindRest : ([])
| AND rvalbind (rvalbind)
-constraint : (NONE)
- | COLON ty (SOME ty)
+constraint : (NONE)
+ | COLON ty (SOME ty)
-funs : clausesTop ([clausesTop])
- | clausesTop AND funs (clausesTop :: funs)
+funs : clausesTop ([clausesTop])
+ | clausesTop AND funs (clausesTop :: funs)
clausesTop: clauses (Vector.fromList clauses)
-clauses : clause ([clause])
- | clause BAR clauses (clause :: clauses)
+clauses : clause ([clause])
+ | clause BAR clauses (clause :: clauses)
-clause : apats constraint EQUALOP exp ({pats = Vector.fromList apats,
+clause : apats constraint EQUALOP exp ({pats = Vector.fromList apats,
resultType = constraint,
body = exp})
@@ -808,10 +808,10 @@
| AND typBind' (typBind')
-tyvars : tyvarseq (tyvarseq)
+tyvars : tyvarseq (tyvarseq)
| (Vector.new0 ())
-tyvarseq: tyvar (Vector.new1 tyvar)
+tyvarseq: tyvar (Vector.new1 tyvar)
| LPAREN tyvar_pc RPAREN
(let
val v = Vector.fromList tyvar_pc
@@ -831,10 +831,10 @@
| tyvar COMMA tyvar_pc (tyvar :: tyvar_pc)
constrs : constr ([constr])
- | constr BAR constrs (constr :: constrs)
+ | constr BAR constrs (constr :: constrs)
-constr : opcon (opcon, NONE)
- | opcon OF ty (opcon, SOME ty)
+constr : opcon (opcon, NONE)
+ | opcon OF ty (opcon, SOME ty)
opcon : con (con)
| OP con (con)
@@ -842,7 +842,7 @@
ebs : eb ([eb])
| eb AND ebs (eb::ebs)
-eb : opcon ebrhs (Con.ensureRedefine opcon; (opcon, ebrhs))
+eb : opcon ebrhs (Con.ensureRedefine opcon; (opcon, ebrhs))
ebrhs : ebrhsnode (EbRhs.makeRegion' (ebrhsnode,
ebrhsnodeleft, ebrhsnoderight))
@@ -852,13 +852,13 @@
| EQUALOP longcon (EbRhs.Def longcon)
| EQUALOP OP longcon (EbRhs.Def longcon)
-fixity : INFIX (Fixity.Infix NONE)
- | INFIX digit (Fixity.Infix (SOME digit))
+fixity : INFIX (Fixity.Infix NONE)
+ | INFIX digit (Fixity.Infix (SOME digit))
| INFIXR (Fixity.Infixr NONE)
- | INFIXR digit (Fixity.Infixr (SOME digit))
+ | INFIXR digit (Fixity.Infixr (SOME digit))
| NONFIX (Fixity.Nonfix)
-priority : (Priority.T NONE)
+priority : (Priority.T NONE)
| digit (Priority.T (SOME digit))
int : INT
@@ -958,30 +958,30 @@
rules : rule ([rule])
| rule BAR rules (rule :: rules)
-rule : pat DARROW exp ((pat,exp))
+rule : pat DARROW exp ((pat,exp))
-elabel : field EQUALOP exp (field,exp)
+elabel : field EQUALOP exp (field,exp)
-elabels : elabel COMMA elabels (elabel :: elabels)
+elabels : elabel COMMA elabels (elabel :: elabels)
| elabel ([elabel])
-exp_ps : exp SEMICOLON exp ([exp1, exp2])
- | exp SEMICOLON exp_ps (exp :: exp_ps)
+exp_ps : exp SEMICOLON exp ([exp1, exp2])
+ | exp SEMICOLON exp_ps (exp :: exp_ps)
exp : expnode (Exp.makeRegion' (expnode, expnodeleft, expnoderight))
-expnode : exp HANDLE match (Exp.Handle (exp, match))
+expnode : exp HANDLE match (Exp.Handle (exp, match))
| exp ORELSE exp (Exp.Orelse (exp1, exp2))
| exp ANDALSO exp (Exp.Andalso (exp1, exp2))
- | exp COLON ty (Exp.Constraint (exp, ty))
- | app_exp (Exp.FlatApp (Vector.fromList app_exp))
- | FN match (Exp.Fn match)
- | CASE exp OF match (Exp.Case (exp, match))
- | WHILE exp DO exp (Exp.While {test = exp1, expr = exp2})
+ | exp COLON ty (Exp.Constraint (exp, ty))
+ | app_exp (Exp.FlatApp (Vector.fromList app_exp))
+ | FN match (Exp.Fn match)
+ | CASE exp OF match (Exp.Case (exp, match))
+ | WHILE exp DO exp (Exp.While {test = exp1, expr = exp2})
| IF exp THEN exp ELSE exp (Exp.If (exp1, exp2, exp3))
- | RAISE exp (Exp.Raise exp)
+ | RAISE exp (Exp.Raise exp)
-app_exp : aexp app_exp1 (Exp.makeRegion' (aexp, aexpleft, aexpright)
+app_exp : aexp app_exp1 (Exp.makeRegion' (aexp, aexpleft, aexpright)
:: app_exp1)
| longvid app_exp1 (Exp.makeRegion' (Exp.Var {name = longvid,
fixop = Fixop.None},
@@ -991,17 +991,17 @@
app_exp1 : ([])
| app_exp (app_exp)
-aexp : OP vid (Exp.Var {name = Longvid.short vid,
+aexp : OP vid (Exp.Var {name = Longvid.short vid,
fixop = Fixop.Op})
| const (Exp.Const const)
- | HASH field (Exp.Selector field)
+ | HASH field (Exp.Selector field)
| LBRACE elabels RBRACE
(Exp.Record (Record.fromVector (Vector.fromList elabels)))
- | LBRACE RBRACE (Exp.unit)
- | LPAREN RPAREN (Exp.unit)
+ | LBRACE RBRACE (Exp.unit)
+ | LPAREN RPAREN (Exp.unit)
| LPAREN expnode RPAREN (expnode)
- | LPAREN exp_ps RPAREN (Exp.Seq (Vector.fromList exp_ps))
- | LPAREN exp_2c RPAREN (Exp.tuple (Vector.fromList exp_2c))
+ | LPAREN exp_ps RPAREN (Exp.Seq (Vector.fromList exp_ps))
+ | LPAREN exp_2c RPAREN (Exp.tuple (Vector.fromList exp_2c))
| LBRACKET exp_list RBRACKET (Exp.List (Vector.fromList exp_list))
| LBRACKET RBRACKET (Exp.List (Vector.new0 ()))
| LET decs IN exp END (Exp.Let (decs, exp))
@@ -1068,11 +1068,11 @@
; symattributes)
end)
-exp_2c : exp COMMA exp_2c (exp :: exp_2c)
- | exp COMMA exp ([exp1, exp2])
+exp_2c : exp COMMA exp_2c (exp :: exp_2c)
+ | exp COMMA exp ([exp1, exp2])
-exp_list : exp ([exp])
- | exp COMMA exp_list (exp :: exp_list)
+exp_list : exp ([exp])
+ | exp COMMA exp_list (exp :: exp_list)
(*---------------------------------------------------*)
(* Patterns *)
@@ -1080,12 +1080,12 @@
pat : patnode (Pat.makeRegion' (patnode, patnodeleft, patnoderight))
-patnode : pat AS pat (Pat.makeAs (pat1, pat2))
+patnode : pat AS pat (Pat.makeAs (pat1, pat2))
| pat COLON ty (Pat.Constraint (pat, ty))
| apats (Pat.FlatApp (Vector.fromList apats))
-apats : apat ([apat])
- | apat apats (apat :: apats)
+apats : apat ([apat])
+ | apat apats (apat :: apats)
apat : apatnode (Pat.makeRegion' (apatnode, apatnodeleft, apatnoderight))
@@ -1111,7 +1111,7 @@
in
Pat.Const const
end)
- | WILD (Pat.Wild)
+ | WILD (Pat.Wild)
| LPAREN pats RPAREN (Pat.tuple (Vector.fromList pats))
| LBRACKET pats RBRACKET (Pat.List (Vector.fromList pats))
| LBRACE RBRACE (Pat.unit)
@@ -1132,8 +1132,8 @@
patitems : patitem COMMA patitems (let val (items, f) = patitems
in (patitem :: items, f)
end)
- | patitem ([patitem], false)
- | DOTDOTDOT ([], true)
+ | patitem ([patitem], false)
+ | DOTDOTDOT ([], true)
patitem
: field EQUALOP pat
@@ -1151,34 +1151,34 @@
ty : tynode (Type.makeRegion' (tynode, tynodeleft, tynoderight))
-tynode : tuple_ty (Type.tuple (Vector.fromList tuple_ty))
- | ty ARROW ty (Type.arrow (ty1, ty2))
+tynode : tuple_ty (Type.tuple (Vector.fromList tuple_ty))
+ | ty ARROW ty (Type.arrow (ty1, ty2))
| ty'node (ty'node)
ty' : ty'node (Type.makeRegion' (ty'node, ty'nodeleft, ty'noderight))
-ty'node : tyvar (Type.Var tyvar)
+ty'node : tyvar (Type.Var tyvar)
| LBRACE tlabels RBRACE
(Type.Record (Srecord.fromVector (Vector.fromList tlabels)))
- | LBRACE RBRACE (Type.unit)
+ | LBRACE RBRACE (Type.unit)
| LPAREN ty0_pc RPAREN longtycon (Type.Con (longtycon,
Vector.fromList ty0_pc))
- | LPAREN ty RPAREN (Type.node ty)
- | ty' longtycon (Type.Con (longtycon,
+ | LPAREN ty RPAREN (Type.node ty)
+ | ty' longtycon (Type.Con (longtycon,
Vector.new1 ty'))
| longtycon (Type.Con (longtycon,
Vector.new0 ()))
-tlabel : field COLON ty (field, ty)
+tlabel : field COLON ty (field, ty)
-tlabels : tlabel COMMA tlabels (tlabel :: tlabels)
+tlabels : tlabel COMMA tlabels (tlabel :: tlabels)
| tlabel ([tlabel])
-tuple_ty : ty' ASTERISK tuple_ty (ty' :: tuple_ty)
- | ty' ASTERISK ty' ([ty'1, ty'2])
+tuple_ty : ty' ASTERISK tuple_ty (ty' :: tuple_ty)
+ | ty' ASTERISK ty' ([ty'1, ty'2])
-ty0_pc : ty COMMA ty ([ty1, ty2])
- | ty COMMA ty0_pc (ty :: ty0_pc)
+ty0_pc : ty COMMA ty ([ty1, ty2])
+ | ty COMMA ty0_pc (ty :: ty0_pc)
(*---------------------------------------------------*)
(* Atoms *)
@@ -1188,7 +1188,7 @@
: const (const)
| id (let
fun ok b = Const.makeRegion (Const.Bool b, reg (idleft, idright))
- in
+ in
case Symbol.toString (#1 id) of
"false" => ok false
| "true" => ok true
@@ -1196,14 +1196,14 @@
; ok false)
end)
-const : const' (Const.makeRegion
+const : const' (Const.makeRegion
(const', reg (const'left, const'right)))
-const' : int (Const.Int int)
- | word (Const.Word word)
- | REAL (Const.Real REAL)
+const' : int (Const.Int int)
+ | word (Const.Word word)
+ | REAL (Const.Real REAL)
| STRING (Const.String STRING)
- | CHAR (Const.Char CHAR)
+ | CHAR (Const.Char CHAR)
string : STRING (CharVector.tabulate
(Vector.length STRING, fn i =>
@@ -1237,12 +1237,12 @@
vids : vid ([vid])
| vid vids (vid::vids)
var : idEqual (Var.fromSymbol idEqual)
-con : id (Con.fromSymbol id)
-tycon : idNoAsterisk (Tycon.fromSymbol idNoAsterisk)
-tyvar : TYVAR (Tyvar.newString (TYVAR, {left = TYVARleft,
+con : id (Con.fromSymbol id)
+tycon : idNoAsterisk (Tycon.fromSymbol idNoAsterisk)
+tyvar : TYVAR (Tyvar.newString (TYVAR, {left = TYVARleft,
right = TYVARright}))
-field : id (Field.Symbol (#1 id))
- | int (let
+field : id (Field.Symbol (#1 id))
+ | int (let
val int =
IntInf.toInt int
handle Exn.Overflow =>
@@ -1259,11 +1259,11 @@
int - 1)
end) (* int - 1 because fields are 0-based *)
-strid : id (Strid.fromSymbol id)
-sigid : id (Sigid.fromSymbol id)
-sigids : sigid ([sigid])
- | sigid sigids (sigid :: sigids)
-fctid : id (Fctid.fromSymbol id)
+strid : id (Strid.fromSymbol id)
+sigid : id (Sigid.fromSymbol id)
+sigids : sigid ([sigid])
+ | sigid sigids (sigid :: sigids)
+fctid : id (Fctid.fromSymbol id)
longtycon : longidNoAsterisk (Longtycon.fromSymbols longidNoAsterisk)
longvar : longidEqual (Longvar.fromSymbols longidEqual)
Modified: mlton/trunk/mlton/front-end/ml.lex
===================================================================
--- mlton/trunk/mlton/front-end/ml.lex 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/front-end/ml.lex 2005-08-21 18:31:31 UTC (rev 4020)
@@ -137,8 +137,8 @@
hexnum={hexDigit}+;
%%
-<INITIAL>{ws} => (continue ());
-<INITIAL>{eol} => (Source.newline (source, yypos); continue ());
+<INITIAL>{ws} => (continue ());
+<INITIAL>{eol} => (Source.newline (source, yypos); continue ());
<INITIAL>"_address" =>
(tok (Tokens.ADDRESS, source, yypos, yypos + size yytext));
<INITIAL>"_build_const" =>
@@ -157,15 +157,15 @@
(tok (Tokens.SYMBOL, source, yypos, yypos + size yytext));
<INITIAL>"_prim" =>
(tok (Tokens.PRIM, source, yypos, yypos + size yytext));
-<INITIAL>"_" => (tok (Tokens.WILD, source, yypos, yypos + 1));
-<INITIAL>"," => (tok (Tokens.COMMA, source, yypos, yypos + 1));
-<INITIAL>"{" => (tok (Tokens.LBRACE, source, yypos, yypos + 1));
-<INITIAL>"}" => (tok (Tokens.RBRACE, source, yypos, yypos + 1));
-<INITIAL>"[" => (tok (Tokens.LBRACKET, source, yypos, yypos + 1));
-<INITIAL>"]" => (tok (Tokens.RBRACKET, source, yypos, yypos + 1));
-<INITIAL>";" => (tok (Tokens.SEMICOLON, source, yypos, yypos + 1));
-<INITIAL>"(" => (tok (Tokens.LPAREN, source, yypos, yypos + 1));
-<INITIAL>")" => (tok (Tokens.RPAREN, source, yypos, yypos + 1));
+<INITIAL>"_" => (tok (Tokens.WILD, source, yypos, yypos + 1));
+<INITIAL>"," => (tok (Tokens.COMMA, source, yypos, yypos + 1));
+<INITIAL>"{" => (tok (Tokens.LBRACE, source, yypos, yypos + 1));
+<INITIAL>"}" => (tok (Tokens.RBRACE, source, yypos, yypos + 1));
+<INITIAL>"[" => (tok (Tokens.LBRACKET, source, yypos, yypos + 1));
+<INITIAL>"]" => (tok (Tokens.RBRACKET, source, yypos, yypos + 1));
+<INITIAL>";" => (tok (Tokens.SEMICOLON, source, yypos, yypos + 1));
+<INITIAL>"(" => (tok (Tokens.LPAREN, source, yypos, yypos + 1));
+<INITIAL>")" => (tok (Tokens.RPAREN, source, yypos, yypos + 1));
<INITIAL>"..." => (tok (Tokens.DOTDOTDOT, source, yypos, yypos + 3));
<INITIAL>"|" => (tok (Tokens.BAR, source, yypos, yypos + 1));
<INITIAL>":" => (tok (Tokens.COLON, source, yypos, yypos + 1));
@@ -220,7 +220,7 @@
(case yytext of
"*" => tok (Tokens.ASTERISK, source, yypos, yypos + 1)
| _ => tok' (Tokens.LONGID, yytext, source, yypos));
-<INITIAL>{real} => (tok' (Tokens.REAL, yytext, source, yypos));
+<INITIAL>{real} => (tok' (Tokens.REAL, yytext, source, yypos));
<INITIAL>{num} =>
(int (yytext, 0, source, yypos, {negate = false}, StringCvt.DEC));
<INITIAL>"~"{num} =>
@@ -233,12 +233,12 @@
(word (yytext, 2, source, yypos, StringCvt.DEC));
<INITIAL>"0wx"{hexnum} =>
(word (yytext, 3, source, yypos, StringCvt.HEX));
-<INITIAL>\" => (charlist := []
+<INITIAL>\" => (charlist := []
; stringStart := Source.getPos (source, yypos)
; stringtype := true
; YYBEGIN S
; continue ());
-<INITIAL>\#\" => (charlist := []
+<INITIAL>\#\" => (charlist := []
; stringStart := Source.getPos (source, yypos)
; stringtype := false
; YYBEGIN S
@@ -248,11 +248,11 @@
; commentStart := Source.getPos (source, yypos)
; commentLevel := 1
; continue ());
-<INITIAL>"(*" => (YYBEGIN A
+<INITIAL>"(*" => (YYBEGIN A
; commentLevel := 1
; commentStart := Source.getPos (source, yypos)
; continue ());
-<INITIAL>. => (error (source, yypos, yypos + 1, "illegal token") ;
+<INITIAL>. => (error (source, yypos, yypos + 1, "illegal token") ;
continue ());
<L>[0-9]+ => (YYBEGIN LL
@@ -270,7 +270,7 @@
<LLC>"*)" => (YYBEGIN INITIAL
; lineDirective (source, NONE, yypos + 2)
; commentLevel := 0; charlist := []; continue ());
-<LLC>{ws}\" => (YYBEGIN LLCQ; continue ());
+<LLC>{ws}\" => (YYBEGIN LLCQ; continue ());
<LLCQ>[^\"]* => (lineFile := yytext; continue ());
<LLCQ>\""*)" => (YYBEGIN INITIAL
; lineDirective (source, SOME (!lineFile), yypos + 3)
@@ -278,14 +278,14 @@
<L,LLC,LLCQ>"*)" => (YYBEGIN INITIAL; commentLevel := 0; charlist := []; continue ());
<L,LLC,LLCQ>. => (YYBEGIN A; continue ());
-<A>"(*" => (inc commentLevel; continue ());
-<A>\n => (Source.newline (source, yypos) ; continue ());
+<A>"(*" => (inc commentLevel; continue ());
+<A>\n => (Source.newline (source, yypos) ; continue ());
<A>"*)" => (dec commentLevel
; if 0 = !commentLevel then YYBEGIN INITIAL else ()
; continue ());
-<A>. => (continue ());
+<A>. => (continue ());
-<S>\" => (let
+<S>\" => (let
val s = Vector.fromListRev (!charlist)
val _ = charlist := nil
fun make (t, v) =
@@ -303,21 +303,21 @@
; 0)
else Vector.sub (s, 0))
end);
-<S>\\a => (addChar #"\a"; continue ());
-<S>\\b => (addChar #"\b"; continue ());
-<S>\\f => (addChar #"\f"; continue ());
-<S>\\n => (addChar #"\n"; continue ());
-<S>\\r => (addChar #"\r"; continue ());
-<S>\\t => (addChar #"\t"; continue ());
-<S>\\v => (addChar #"\v"; continue ());
-<S>\\\^[@-_] => (addChar (Char.chr(Char.ord(String.sub(yytext, 2))
+<S>\\a => (addChar #"\a"; continue ());
+<S>\\b => (addChar #"\b"; continue ());
+<S>\\f => (addChar #"\f"; continue ());
+<S>\\n => (addChar #"\n"; continue ());
+<S>\\r => (addChar #"\r"; continue ());
+<S>\\t => (addChar #"\t"; continue ());
+<S>\\v => (addChar #"\v"; continue ());
+<S>\\\^[@-_] => (addChar (Char.chr(Char.ord(String.sub(yytext, 2))
-Char.ord #"@"));
continue ());
<S>\\\^. =>
(error (source, yypos, yypos + 2,
"illegal control escape; must be one of @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_");
continue ());
-<S>\\[0-9]{3} => (let
+<S>\\[0-9]{3} => (let
fun c (i, scale) =
scale * (Char.ord (String.sub (yytext, i))
- Char.ord #"0")
@@ -332,11 +332,11 @@
<S>\\U{hexDigit}{8} => (addHexEscape (String.substring (yytext, 2, 8),
source, yypos)
; continue ());
-<S>\\\" => (addString "\""; continue ());
-<S>\\\\ => (addString "\\"; continue ());
-<S>\\{nrws} => (YYBEGIN F; continue ());
+<S>\\\" => (addString "\""; continue ());
+<S>\\\\ => (addString "\\"; continue ());
+<S>\\{nrws} => (YYBEGIN F; continue ());
<S>\\{eol} => (Source.newline (source, yypos) ; YYBEGIN F ; continue ());
-<S>\\ => (stringError (source, yypos, "illegal string escape")
+<S>\\ => (stringError (source, yypos, "illegal string escape")
; continue ());
<S>{eol} => (Source.newline (source, yypos)
; stringError (source, yypos, "unclosed string")
@@ -346,10 +346,10 @@
; continue ());
<F>{eol} => (Source.newline (source, yypos) ; continue ());
-<F>{ws} => (continue ());
-<F>\\ => (YYBEGIN S
+<F>{ws} => (continue ());
+<F>\\ => (YYBEGIN S
; stringStart := Source.getPos (source, yypos)
; continue ());
-<F>. => (stringError (source, yypos, "unclosed string")
+<F>. => (stringError (source, yypos, "unclosed string")
; continue ());
Modified: mlton/trunk/mlton/front-end/mlb-front-end.fun
===================================================================
--- mlton/trunk/mlton/front-end/mlb-front-end.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/front-end/mlb-front-end.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -22,7 +22,7 @@
val lexAndParseProgOrMLB = fn f => !lexAndParseProgOrMLBRef f
structure LrVals = MLBLrValsFun (structure Token = LrParser.Token
- structure Ast = Ast
+ structure Ast = Ast
val lexAndParseProgOrMLB = lexAndParseProgOrMLB)
structure Lex = MLBLexFun (structure Tokens = LrVals.Tokens)
structure Parse = JoinWithArg (structure ParserData = LrVals.ParserData
@@ -175,7 +175,7 @@
fun regularize {fileOrig, cwd, region, relativize} =
let
val fileExp = expandPathVars (fileOrig, [], region)
- val fileAbs = OS.Path.mkAbsolute {path = fileExp, relativeTo = cwd}
+ val fileAbs = OS.Path.mkAbsolute {path = fileExp, relativeTo = cwd}
val fileAbs = OS.Path.mkCanonical fileAbs
val relativize =
if OS.Path.isAbsolute fileExp
Modified: mlton/trunk/mlton/front-end/mlb.lex
===================================================================
--- mlton/trunk/mlton/front-end/mlb.lex 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/front-end/mlb.lex 2005-08-21 18:31:31 UTC (rev 4020)
@@ -105,12 +105,12 @@
hexDigit=[0-9a-fA-F];
%%
-<INITIAL>{ws} => (continue ());
-<INITIAL>{eol} => (Source.newline (source, yypos); continue ());
+<INITIAL>{ws} => (continue ());
+<INITIAL>{eol} => (Source.newline (source, yypos); continue ());
<INITIAL>"_prim"
=> (tok (Tokens.PRIM, source, yypos, yypos + 4));
-<INITIAL>"," => (tok (Tokens.COMMA, source, yypos, yypos + 1));
-<INITIAL>";" => (tok (Tokens.SEMICOLON, source, yypos, yypos + 1));
+<INITIAL>"," => (tok (Tokens.COMMA, source, yypos, yypos + 1));
+<INITIAL>";" => (tok (Tokens.SEMICOLON, source, yypos, yypos + 1));
<INITIAL>"=" => (tok (Tokens.EQUALOP, source, yypos, yypos + 1));
<INITIAL>"ann" => (tok (Tokens.ANN, source, yypos, yypos + 3));
<INITIAL>"and" => (tok (Tokens.AND, source, yypos, yypos + 3));
@@ -141,11 +141,11 @@
; commentStart := Source.getPos (source, yypos)
; commentLevel := 1
; continue ());
-<INITIAL>"(*" => (YYBEGIN A
+<INITIAL>"(*" => (YYBEGIN A
; commentLevel := 1
; commentStart := Source.getPos (source, yypos)
; continue ());
-<INITIAL>. => (error (source, yypos, yypos + 1, "illegal token") ;
+<INITIAL>. => (error (source, yypos, yypos + 1, "illegal token") ;
continue ());
<L>[0-9]+ => (YYBEGIN LL
@@ -163,7 +163,7 @@
<LLC>"*)" => (YYBEGIN INITIAL
; lineDirective (source, NONE, yypos + 2)
; commentLevel := 0; charlist := []; continue ());
-<LLC>{ws}\" => (YYBEGIN LLCQ; continue ());
+<LLC>{ws}\" => (YYBEGIN LLCQ; continue ());
<LLCQ>[^\"]* => (lineFile := yytext; continue ());
<LLCQ>\""*)" => (YYBEGIN INITIAL
; lineDirective (source, SOME (!lineFile), yypos + 3)
@@ -172,14 +172,14 @@
=> (YYBEGIN INITIAL; commentLevel := 0; charlist := []; continue ());
<L,LLC,LLCQ>. => (YYBEGIN A; continue ());
-<A>"(*" => (inc commentLevel; continue ());
-<A>\n => (Source.newline (source, yypos) ; continue ());
+<A>"(*" => (inc commentLevel; continue ());
+<A>\n => (Source.newline (source, yypos) ; continue ());
<A>"*)" => (dec commentLevel
; if 0 = !commentLevel then YYBEGIN INITIAL else ()
; continue ());
-<A>. => (continue ());
+<A>. => (continue ());
-<S>\" => (let
+<S>\" => (let
val s = concat (rev (!charlist))
val _ = charlist := nil
fun make (t, v) =
@@ -187,20 +187,20 @@
in YYBEGIN INITIAL
; make (Tokens.STRING, s)
end);
-<S>\\a => (addChar #"\a"; continue ());
-<S>\\b => (addChar #"\b"; continue ());
-<S>\\f => (addChar #"\f"; continue ());
-<S>\\n => (addChar #"\n"; continue ());
-<S>\\r => (addChar #"\r"; continue ());
-<S>\\t => (addChar #"\t"; continue ());
-<S>\\v => (addChar #"\v"; continue ());
-<S>\\\^[@-_] => (addChar (Char.chr(Char.ord(String.sub(yytext, 2))
+<S>\\a => (addChar #"\a"; continue ());
+<S>\\b => (addChar #"\b"; continue ());
+<S>\\f => (addChar #"\f"; continue ());
+<S>\\n => (addChar #"\n"; continue ());
+<S>\\r => (addChar #"\r"; continue ());
+<S>\\t => (addChar #"\t"; continue ());
+<S>\\v => (addChar #"\v"; continue ());
+<S>\\\^[@-_] => (addChar (Char.chr(Char.ord(String.sub(yytext, 2))
-Char.ord #"@"))
; continue ());
<S>\\\^. => (error (source, yypos, yypos + 2,
"illegal control escape; must be one of @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_")
; continue ());
-<S>\\[0-9]{3} => (let
+<S>\\[0-9]{3} => (let
val x =
Char.ord(String.sub(yytext, 1)) * 100
+ Char.ord(String.sub(yytext, 2)) * 10
@@ -228,11 +228,11 @@
| _ => err())
; continue ()
end);
-<S>\\\" => (addString "\""; continue ());
-<S>\\\\ => (addString "\\"; continue ());
-<S>\\{nrws} => (YYBEGIN F; continue ());
+<S>\\\" => (addString "\""; continue ());
+<S>\\\\ => (addString "\\"; continue ());
+<S>\\{nrws} => (YYBEGIN F; continue ());
<S>\\{eol} => (Source.newline (source, yypos) ; YYBEGIN F ; continue ());
-<S>\\ => (stringError (source, yypos, "illegal string escape")
+<S>\\ => (stringError (source, yypos, "illegal string escape")
; continue ());
<S>{eol} => (Source.newline (source, yypos)
; stringError (source, yypos, "unclosed string")
@@ -243,9 +243,9 @@
; continue ());
<F>{eol} => (Source.newline (source, yypos) ; continue ());
-<F>{ws} => (continue ());
-<F>\\ => (YYBEGIN S
+<F>{ws} => (continue ());
+<F>\\ => (YYBEGIN S
; stringStart := Source.getPos (source, yypos)
; continue ());
-<F>. => (stringError (source, yypos, "unclosed string")
+<F>. => (stringError (source, yypos, "unclosed string")
; continue ());
Modified: mlton/trunk/mlton/main/compile.fun
===================================================================
--- mlton/trunk/mlton/main/compile.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/main/compile.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -438,7 +438,7 @@
val coreML = CoreML.Program.T {decs = decs}
(*
val _ = Control.message (Control.Detail, fn () =>
- CoreML.Program.layoutStats coreML)
+ CoreML.Program.layoutStats coreML)
*)
(* Set GC_state offsets. *)
val _ =
Modified: mlton/trunk/mlton/main/lookup-constant.fun
===================================================================
--- mlton/trunk/mlton/main/lookup-constant.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/main/lookup-constant.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -129,7 +129,7 @@
(concat ["LookupConstants.load: strange constants line: ", l]))
fun lookupConstant ({default, name}, ty: ConstType.t): Const.t =
let
- val {value, ...} =
+ val {value, ...} =
let
val hash = String.hash name
in
Modified: mlton/trunk/mlton/main/main.fun
===================================================================
--- mlton/trunk/mlton/main/main.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/main/main.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -431,7 +431,7 @@
(fn s =>
stop := (case s of
"f" => Place.Files
- | "g" => Place.Generated
+ | "g" => Place.Generated
| "o" => Place.O
| "sml" => Place.SML
| "tc" => Place.TypeCheck
Modified: mlton/trunk/mlton/ssa/constant-propagation.fun
===================================================================
--- mlton/trunk/mlton/ssa/constant-propagation.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/constant-propagation.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -346,7 +346,7 @@
fun equals (T s, T s') = Set.equals (s, s')
val equals =
- Trace.trace2
+ Trace.trace2
("ConstantPropagation.Value.equals",
layout, layout, Bool.layout)
equals
@@ -654,8 +654,8 @@
local
open Value
in
- val traceCoerce =
- Trace.trace ("ConstantPropagation.Value.coerce",
+ val traceCoerce =
+ Trace.trace ("ConstantPropagation.Value.coerce",
fn {from, to} => Layout.record [("from", layout from),
("to", layout to)],
Unit.layout)
Modified: mlton/trunk/mlton/ssa/contify.fun
===================================================================
--- mlton/trunk/mlton/ssa/contify.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/contify.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -498,7 +498,7 @@
= let
datatype z = datatype Areturn.t
- (* For functions turned into continuations,
+ (* For functions turned into continuations,
* record their args, blocks, and new name.
*)
val _
Modified: mlton/trunk/mlton/ssa/flatten.fun
===================================================================
--- mlton/trunk/mlton/ssa/flatten.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/flatten.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -157,7 +157,7 @@
fun unifyReturns () =
case (funcReturns, returns) of
(SOME rs, SOME rs') => Rep.unifys (rs, rs')
- | _ => ()
+ | _ => ()
fun unifyRaises () =
case (funcRaises, raises) of
(SOME rs, SOME rs') => Rep.unifys (rs, rs')
Modified: mlton/trunk/mlton/ssa/multi.fun
===================================================================
--- mlton/trunk/mlton/ssa/multi.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/multi.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -365,7 +365,7 @@
end
else ())
else if usesThreadsOrConts
- then let
+ then let
val _ = MultiThreaded.when
(FuncInfo.multiThreaded fi,
fn () => forceMultiThreadedFunc f)
@@ -388,7 +388,7 @@
visitForceMultiUsedBlock controlFlow
(nodeBlock n)))
end
- else let
+ else let
val _ = MultiUsed.when
(FuncInfo.multiUsed fi,
fn () => forceMultiUsedFunc f)
Modified: mlton/trunk/mlton/ssa/redundant-tests.fun
===================================================================
--- mlton/trunk/mlton/ssa/redundant-tests.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/redundant-tests.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -223,7 +223,7 @@
if !inDeg = 1
then List.push (facts, f)
else ()
- end
+ end
fun falseTrue () =
case cases of
Cases.Con v =>
Modified: mlton/trunk/mlton/ssa/remove-unused.fun
===================================================================
--- mlton/trunk/mlton/ssa/remove-unused.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/remove-unused.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -388,7 +388,7 @@
* of constructors as patterns.
*)
=> decon (Vector.sub (targs, 0))
-(* | (Prim.Name.MLton_size, 1) => decon (Vector.sub (targs, 0)) *)
+(* | (Prim.Name.MLton_size, 1) => decon (Vector.sub (targs, 0)) *)
| _ => ()
end
| Select {tuple, ...} => visitVar tuple
Modified: mlton/trunk/mlton/ssa/restore.fun
===================================================================
--- mlton/trunk/mlton/ssa/restore.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/restore.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -308,7 +308,7 @@
Array.update (uses, index, false)
end
else ()
- end
+ end
fun addUse x
= let
val vi = varInfo x
Modified: mlton/trunk/mlton/ssa/restore2.fun
===================================================================
--- mlton/trunk/mlton/ssa/restore2.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/restore2.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -307,7 +307,7 @@
Array.update (uses, index, false)
end
else ()
- end
+ end
fun addUse x
= let
val vi = varInfo x
Modified: mlton/trunk/mlton/ssa/shrink.fun
===================================================================
--- mlton/trunk/mlton/ssa/shrink.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/shrink.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -192,7 +192,7 @@
val {get = varInfo: Var.t -> VarInfo.t, set = setVarInfo, ...} =
Property.getSet (Var.plist,
Property.initFun (fn x => VarInfo.new (x, NONE)))
-(* Property.getSet (Var.plist, Property.initFun VarInfo.new) *)
+(* Property.getSet (Var.plist, Property.initFun VarInfo.new) *)
val setVarInfo =
Trace.trace2 ("Ssa.Shrink.setVarInfo",
Var.layout, VarInfo.layout, Unit.layout)
@@ -678,7 +678,7 @@
(prim, Vector.toList args', VarInfo.equals)
end
(* Another DFS, this time accumulating the new blocks. *)
- val traceForceMeaningBlock =
+ val traceForceMeaningBlock =
Trace.trace ("Ssa.Shrink.forceMeaningBlock",
layoutLabelMeaning, Unit.layout)
val traceSimplifyBlock =
@@ -822,7 +822,7 @@
overflow = simplifyLabel overflow,
success = simplifyLabel success,
ty = ty})
- end
+ end
| _ =>
([], Arith {prim = prim,
args = uses args,
@@ -1239,7 +1239,7 @@
raises = raises,
returns = returns,
start = meaningLabel start}
-(* val _ = save (f, "post") *)
+(* val _ = save (f, "post") *)
val _ = Function.clear f
in
f
Modified: mlton/trunk/mlton/ssa/shrink2.fun
===================================================================
--- mlton/trunk/mlton/ssa/shrink2.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/shrink2.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -682,7 +682,7 @@
(prim, Vector.toList args', VarInfo.equals)
end
(* Another DFS, this time accumulating the new blocks. *)
- val traceForceMeaningBlock =
+ val traceForceMeaningBlock =
Trace.trace ("Ssa2.Shrink2.forceMeaningBlock",
layoutLabelMeaning, Unit.layout)
val traceSimplifyBlock =
@@ -824,7 +824,7 @@
overflow = simplifyLabel overflow,
success = simplifyLabel success,
ty = ty})
- end
+ end
| _ =>
([], Arith {prim = prim,
args = uses args,
@@ -1301,7 +1301,7 @@
raises = raises,
returns = returns,
start = meaningLabel start}
-(* val () = save (f, "post") *)
+(* val () = save (f, "post") *)
val () = Function.clear f
in
f
Modified: mlton/trunk/mlton/ssa/simplify-types.fun
===================================================================
--- mlton/trunk/mlton/ssa/simplify-types.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/simplify-types.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -454,8 +454,8 @@
| _ => t
end))
val simplifyType =
- Trace.trace ("SimplifyTypes.simplifyType", Type.layout, Type.layout)
- simplifyType
+ Trace.trace ("SimplifyTypes.simplifyType", Type.layout, Type.layout)
+ simplifyType
fun simplifyTypes ts = Vector.map (ts, simplifyType)
val keepSimplifyTypes = makeKeepSimplifyTypes simplifyType
(* Simplify constructor argument types. *)
@@ -644,7 +644,7 @@
simplifyTransfer
fun simplifyStatement (Statement.T {var, ty, exp}) =
let
- val ty = simplifyMaybeVarType (var, ty)
+ val ty = simplifyMaybeVarType (var, ty)
in
(* It is wrong to omit calling simplifyExp when var = NONE because
* targs in a PrimApp may still need to be simplified.
Modified: mlton/trunk/mlton/ssa/ssa-tree.fun
===================================================================
--- mlton/trunk/mlton/ssa/ssa-tree.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/ssa-tree.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -972,7 +972,7 @@
in
fun determineControlFlow ({blocks, start, ...}: dest) =
let
- open Dot
+ open Dot
val g = Graph.new ()
fun newNode () = Graph.newNode g
val {get = labelNode, ...} =
@@ -1198,7 +1198,7 @@
val {args, blocks, ...} = dest
val _ = (Vector.foreach (args, Var.clear o #1)
; Vector.foreach (blocks, Block.clear))
- val _ = CPromise.clear controlFlow
+ val _ = CPromise.clear controlFlow
in
()
end
Modified: mlton/trunk/mlton/ssa/ssa-tree2.fun
===================================================================
--- mlton/trunk/mlton/ssa/ssa-tree2.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/ssa-tree2.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -793,7 +793,7 @@
str " = "]],
Exp.layout' (exp, layoutVar)]
| Profile p => ProfileExp.layout p
- | Update {base, offset, value} =>
+ | Update {base, offset, value} =>
seq [(if 0 = offset
then empty
else seq [str "#", Int.layout offset, str " "]),
@@ -1429,7 +1429,7 @@
in
fun determineControlFlow ({blocks, start, ...}: dest) =
let
- open Dot
+ open Dot
val g = Graph.new ()
fun newNode () = Graph.newNode g
val {get = labelNode, ...} =
@@ -1660,7 +1660,7 @@
val {args, blocks, ...} = dest
val _ = (Vector.foreach (args, Var.clear o #1)
; Vector.foreach (blocks, Block.clear))
- val _ = CPromise.clear controlFlow
+ val _ = CPromise.clear controlFlow
in
()
end
Modified: mlton/trunk/mlton/ssa/useless.fun
===================================================================
--- mlton/trunk/mlton/ssa/useless.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/ssa/useless.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -791,7 +791,7 @@
| Var _ => e
| _ => e
val doitExp =
- Trace.trace3 ("Useless.doitExp",
+ Trace.trace3 ("Useless.doitExp",
Exp.layout, Layout.ignore, Layout.ignore,
Exp.layout)
doitExp
Modified: mlton/trunk/mlton/xml/monomorphise.fun
===================================================================
--- mlton/trunk/mlton/xml/monomorphise.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/xml/monomorphise.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -143,7 +143,7 @@
(x', monoType t)
end
val renameMono =
- Trace.trace2
+ Trace.trace2
("Monomorphise.renameMono",
Var.layout, Xtype.layout, Layout.tuple2 (Var.layout, Stype.layout))
renameMono
@@ -260,7 +260,7 @@
fun monoVarExp (XvarExp.T {var, targs}) =
getVar var (monoTypes targs)
val monoVarExp =
- Trace.trace
+ Trace.trace
("Monomorphise.monoVarExp", XvarExp.layout, SvarExp.layout)
monoVarExp
fun monoVarExps xs = Vector.map (xs, monoVarExp)
Modified: mlton/trunk/mlton/xml/polyvariance.fun
===================================================================
--- mlton/trunk/mlton/xml/polyvariance.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/xml/polyvariance.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -31,7 +31,7 @@
(*
val isHigherOrder =
- Trace.trace
+ Trace.trace
("Polyvariance.isHigherOrder", layout, Bool.layout)
isHigherOrder
*)
Modified: mlton/trunk/mlton/xml/type-check.fun
===================================================================
--- mlton/trunk/mlton/xml/type-check.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/xml/type-check.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -109,10 +109,10 @@
| _ => Type.error ("constructor pattern mismatch", Pat.layout p)
end
val traceCheckExp =
- Trace.trace ("Xml.TypeCheck.checkExp", Exp.layout, Type.layout)
+ Trace.trace ("Xml.TypeCheck.checkExp", Exp.layout, Type.layout)
val traceCheckPrimExp =
- Trace.trace2
- ("Xml.TypeCheck.checkPrimExp", PrimExp.layout, Type.layout, Type.layout)
+ Trace.trace2
+ ("Xml.TypeCheck.checkPrimExp", PrimExp.layout, Type.layout, Type.layout)
local
val exnType = ref NONE
in
Modified: mlton/trunk/mlton/xml/uncurry.fun
===================================================================
--- mlton/trunk/mlton/xml/uncurry.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/xml/uncurry.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -32,7 +32,7 @@
Property.initConst {args = Vector.new1 Type.unit,
result = Type.unit})
- fun getResultType(exp) =
+ fun getResultType(exp) =
let
val {decs,result} = Exp.dest(exp)
in
@@ -521,7 +521,7 @@
(body, fn e =>
let
val {decs,result} = Exp.dest(e)
- in
+ in
List.foreach
(decs, fn d =>
case d of
Modified: mlton/trunk/mlton/xml/xml-tree.fun
===================================================================
--- mlton/trunk/mlton/xml/xml-tree.fun 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlton/xml/xml-tree.fun 2005-08-21 18:31:31 UTC (rev 4020)
@@ -731,13 +731,13 @@
fun vall {var, exp}: Dec.t list =
let val t = ref Type.unit
val Exp {decs, result} =
- sendName (exp, fn (x, t') => (t := t';
+ sendName (exp, fn (x, t') => (t := t';
Exp {decs = [], result = x}))
in decs @ [MonoVal {var = var, ty = !t, exp = Var result}]
end
fun sequence es =
- converts (es, fn xs => let val (x, t) = Vector.last xs
+ converts (es, fn xs => let val (x, t) = Vector.last xs
in (Var x, t)
end)
Modified: mlton/trunk/mlyacc/README
===================================================================
--- mlton/trunk/mlyacc/README 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/README 2005-08-21 18:31:31 UTC (rev 4020)
@@ -7,17 +7,17 @@
Files of interest (those marked with a * must be built by the person
installing ML-Yacc):
- README - this file
- INSTALL - installation instructions.
- COPYRIGHT - this software is distributed subject to the
+ README - this file
+ INSTALL - installation instructions.
+ COPYRIGHT - this software is distributed subject to the
terms of this file.
- lib - implementation of the ML-Yacc library
+ lib - implementation of the ML-Yacc library
(aka $/ml-yacc-lib.cm); this library is used
by both by applications and by ML-Yacc itself
(because ML-Yacc IS an ML-Yacc application)
- src - source code for the parser-generator part of ML-Yacc.
- doc - documentation for ML-Yacc. Please read this before
+ src - source code for the parser-generator part of ML-Yacc.
+ doc - documentation for ML-Yacc. Please read this before
using ML-Yacc
examples - sample parsers built with ML-Yacc
- build - script that invokes ../../bin/ml-build to construct
+ build - script that invokes ../../bin/ml-build to construct
the stand-alone version of ML-Yacc
Modified: mlton/trunk/mlyacc/doc/tech.doc
===================================================================
--- mlton/trunk/mlyacc/doc/tech.doc 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/doc/tech.doc 2005-08-21 18:31:31 UTC (rev 4020)
@@ -105,7 +105,7 @@
advantage, as we can represent a closure using just the
nonterminal.
- This can be divided into two cases:
+ This can be divided into two cases:
(a) A -> 'a .B 'c , where 'c derives epsilon,
(b) A -> 'a .B 'c , where 'c does not derive epsilon
@@ -128,7 +128,7 @@
lookahead ref for the resulting
shift/goto item in another core.
- closure items:
+ closure items:
for each nonterminal:
(1) lookahead ref
(2) a list of item * lookahead ref for the
@@ -229,7 +229,7 @@
for each state,
for each item of the form A -> u .B v in the state, where u may be
nullable,
- let first_v = first(v)
+ let first_v = first(v)
l-ref = ref for A -> u .B v
s = the set of nonterminals added through the closure of B.
Modified: mlton/trunk/mlyacc/examples/fol/README
===================================================================
--- mlton/trunk/mlyacc/examples/fol/README 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/examples/fol/README 2005-08-21 18:31:31 UTC (rev 4020)
@@ -7,10 +7,10 @@
fol.lex (* defines lexer *)
fol.grm (* defines grammar *)
- link.sml (* constructs basic parser structures *)
- absyn.sml (* a trivial abstract syntax *)
+ link.sml (* constructs basic parser structures *)
+ absyn.sml (* a trivial abstract syntax *)
interface.sml (* interface to lexer and parser properties *)
- parse.sml (* driver functions *)
+ parse.sml (* driver functions *)
sources.cm (* cm description file *)
To compile this example, type
Modified: mlton/trunk/mlyacc/examples/fol/fol.grm
===================================================================
--- mlton/trunk/mlyacc/examples/fol/fol.grm 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/examples/fol/fol.grm 2005-08-21 18:31:31 UTC (rev 4020)
@@ -41,42 +41,42 @@
start : PARSEPROG clause (Absyn.null)
| PARSEQUERY query (Absyn.null)
-clause : dform ()
+clause : dform ()
| ()
-query : gform ()
- | ()
+query : gform ()
+ | ()
-gform : TRUE ()
- | gform COMMA gform () (* and *)
+gform : TRUE ()
+ | gform COMMA gform () (* and *)
| gform SEMICOLON gform () (* disjunction *)
| gform BACKARROW dform () (* implication: dform implies gform *)
| gform ARROW gform BAR gform () (* if-then-else *)
- | FORALL varbd gform () (* universal quantification *)
- | EXISTS varbd gform () (* existential quantification *)
- | atom () (* atomic formula *)
+ | FORALL varbd gform () (* universal quantification *)
+ | EXISTS varbd gform () (* existential quantification *)
+ | atom () (* atomic formula *)
| LPAREN gform RPAREN ()
-dform : TRUE ()
- | dform COMMA dform () (* and *)
- | dform BACKARROW gform () (* gform implies dform *)
- | FORALL varbd dform ()
- | atom ()
- | LPAREN dform RPAREN ()
+dform : TRUE ()
+ | dform COMMA dform () (* and *)
+ | dform BACKARROW gform () (* gform implies dform *)
+ | FORALL varbd dform ()
+ | atom ()
+ | LPAREN dform RPAREN ()
-atom : LCID ()
+atom : LCID ()
| LCID LPAREN termlist RPAREN ()
-termlist : term ()
+termlist : term ()
| term COMMA termlist ()
-term : id ()
- | INT ()
+term : id ()
+ | INT ()
| LCID LPAREN termlist RPAREN ()
varbd : LCID DOT ()
| UCID DOT ()
-id : LCID ()
- | UCID ()
+id : LCID ()
+ | UCID ()
Modified: mlton/trunk/mlyacc/examples/fol/fol.lex
===================================================================
--- mlton/trunk/mlyacc/examples/fol/fol.lex 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/examples/fol/fol.lex 2005-08-21 18:31:31 UTC (rev 4020)
@@ -21,22 +21,22 @@
ws=[\t\ ]*;
num=[0-9]+;
%%
-<INITIAL>{ws} => (lex());
-<INITIAL>\n => (next_line(); lex());
-<INITIAL>":-" => (Tokens.BACKARROW(!line,!line));
-<INITIAL>"," => (Tokens.COMMA(!line,!line));
-<INITIAL>";" => (Tokens.SEMICOLON(!line,!line));
+<INITIAL>{ws} => (lex());
+<INITIAL>\n => (next_line(); lex());
+<INITIAL>":-" => (Tokens.BACKARROW(!line,!line));
+<INITIAL>"," => (Tokens.COMMA(!line,!line));
+<INITIAL>";" => (Tokens.SEMICOLON(!line,!line));
<INITIAL>"." => (Tokens.DOT(!line,!line));
-<INITIAL>"(" => (Tokens.LPAREN(!line,!line));
-<INITIAL>")" => (Tokens.RPAREN(!line,!line));
-<INITIAL>"->" => (Tokens.ARROW(!line,!line));
-<INITIAL>"=>" => (Tokens.DOUBLEARROW(!line,!line));
-<INITIAL>"|" => (Tokens.BAR(!line,!line));
+<INITIAL>"(" => (Tokens.LPAREN(!line,!line));
+<INITIAL>")" => (Tokens.RPAREN(!line,!line));
+<INITIAL>"->" => (Tokens.ARROW(!line,!line));
+<INITIAL>"=>" => (Tokens.DOUBLEARROW(!line,!line));
+<INITIAL>"|" => (Tokens.BAR(!line,!line));
<INITIAL>"true" => (Tokens.TRUE(!line,!line));
<INITIAL>"forall" => (Tokens.FORALL(!line,!line));
<INITIAL>"exists" => (Tokens.EXISTS(!line,!line));
<INITIAL>{lcid} => (Tokens.LCID (yytext,!line,!line));
<INITIAL>{ucid} => (Tokens.UCID (yytext,!line,!line));
-<INITIAL>{num} => (Tokens.INT (makeInt yytext,!line,!line));
-<INITIAL>. => (error ("ignoring illegal character" ^ yytext,
+<INITIAL>{num} => (Tokens.INT (makeInt yytext,!line,!line));
+<INITIAL>. => (error ("ignoring illegal character" ^ yytext,
!line,!line); lex());
Modified: mlton/trunk/mlyacc/examples/pascal/pascal.grm
===================================================================
--- mlton/trunk/mlyacc/examples/pascal/pascal.grm 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/examples/pascal/pascal.grm 2005-08-21 18:31:31 UTC (rev 4020)
@@ -2,24 +2,24 @@
%name Pascal
%term
- YAND | YARRAY | YBEGIN | YCASE |
- YCONST | YDIV | YDO | YDOTDOT |
- YTO | YELSE | YEND | YFILE |
- YFOR | YFORWARD | YPROCEDURE | YGOTO |
- YID | YIF | YIN | YINT |
- YLABEL | YMOD | YNOT | YNUMB |
- YOF | YOR | YPACKED | YNIL |
- YFUNCTION | YPROG | YRECORD | YREPEAT |
- YSET | YSTRING | YTHEN | YDOWNTO |
- YTYPE | YUNTIL | YVAR | YWHILE |
- YWITH | YBINT | YOCT | YHEX |
- YCASELAB | YILLCH | YEXTERN |
+ YAND | YARRAY | YBEGIN | YCASE |
+ YCONST | YDIV | YDO | YDOTDOT |
+ YTO | YELSE | YEND | YFILE |
+ YFOR | YFORWARD | YPROCEDURE | YGOTO |
+ YID | YIF | YIN | YINT |
+ YLABEL | YMOD | YNOT | YNUMB |
+ YOF | YOR | YPACKED | YNIL |
+ YFUNCTION | YPROG | YRECORD | YREPEAT |
+ YSET | YSTRING | YTHEN | YDOWNTO |
+ YTYPE | YUNTIL | YVAR | YWHILE |
+ YWITH | YBINT | YOCT | YHEX |
+ YCASELAB | YILLCH | YEXTERN |
YDOT | YLPAR | YRPAR | YSEMI | YCOMMA | YCOLON | YCARET | YLBRA |
YRBRA | YTILDE |
YLESS | YEQUAL | YGREATER
-| YPLUS | YMINUS | YBAR
+| YPLUS | YMINUS | YBAR
| UNARYSIGN
-| YSTAR | YSLASH | YAMP
+| YSTAR | YSLASH | YAMP
| EOF
%eop EOF
@@ -27,11 +27,11 @@
%pure
%noshift EOF
-%nonassoc YLESS YEQUAL YGREATER YIN
-%left YPLUS YMINUS YOR YBAR
-%left UNARYSIGN
-%left YSTAR YSLASH YDIV YMOD YAND YAMP
-%left YNOT
+%nonassoc YLESS YEQUAL YGREATER YIN
+%left YPLUS YMINUS YOR YBAR
+%left UNARYSIGN
+%left YSTAR YSLASH YDIV YMOD YAND YAMP
+%left YNOT
%nonterm goal | prog_hedr | block | decls | decl | labels | label_decl |
const_decl | type_decl | var_decl | proc_decl | pheadres | phead |
@@ -45,18 +45,18 @@
| begin
%keyword
- YAND YARRAY YBEGIN YCASE
- YCONST YDIV YDO
- YTO YELSE YEND YFILE
- YFOR YFORWARD YPROCEDURE YGOTO
- YIF YIN
- YLABEL YMOD YNOT
- YOF YOR YPACKED YNIL
- YFUNCTION YPROG YRECORD YREPEAT
- YSET YSTRING YTHEN YDOWNTO
- YTYPE YUNTIL YVAR YWHILE
- YWITH YOCT YHEX
- YEXTERN YAMP
+ YAND YARRAY YBEGIN YCASE
+ YCONST YDIV YDO
+ YTO YELSE YEND YFILE
+ YFOR YFORWARD YPROCEDURE YGOTO
+ YIF YIN
+ YLABEL YMOD YNOT
+ YOF YOR YPACKED YNIL
+ YFUNCTION YPROG YRECORD YREPEAT
+ YSET YSTRING YTHEN YDOWNTO
+ YTYPE YUNTIL YVAR YWHILE
+ YWITH YOCT YHEX
+ YEXTERN YAMP
%prefer YID YSEMI YCOMMA YLBRA
@@ -64,181 +64,181 @@
%%
begin: goal ()
-goal: prog_hedr decls block YDOT ()
-| decls ()
-prog_hedr: YPROG YID YLPAR id_list YRPAR YSEMI ()
-| YPROG YID YSEMI ()
-block: YBEGIN stat_list YEND ()
-decls: decls decl ()
-| ()
-decl: labels ()
-| const_decl ()
-| type_decl ()
-| var_decl ()
-| proc_decl ()
-labels: YLABEL label_decl YSEMI ()
-label_decl: YINT ()
-| label_decl YCOMMA YINT ()
-const_decl: YCONST YID YEQUAL const YSEMI ()
-| const_decl YID YEQUAL const YSEMI ()
-| YCONST YID YEQUAL YID YSEMI ()
-| const_decl YID YEQUAL YID YSEMI ()
-type_decl: YTYPE YID YEQUAL type' YSEMI ()
-| type_decl YID YEQUAL type' YSEMI ()
-var_decl: YVAR id_list YCOLON type' YSEMI ()
-| var_decl id_list YCOLON type' YSEMI ()
-proc_decl: phead YFORWARD YSEMI ()
-| phead YEXTERN YSEMI ()
-| pheadres decls block YSEMI ()
-pheadres: phead ()
-phead: porf YID params ftype YSEMI ()
-porf: YPROCEDURE ()
-| YFUNCTION ()
-params: YLPAR param_list YRPAR ()
-| ()
-param: id_list YCOLON type' ()
-| YVAR id_list YCOLON type' ()
-| YFUNCTION id_list params ftype ()
-| YPROCEDURE id_list params ftype ()
-ftype: YCOLON type' ()
-| ()
-param_list: param ()
-| param_list YSEMI param ()
-const: YSTRING ()
-| number ()
-| YPLUS number ()
-| YMINUS number ()
-| YPLUS YID ()
-| YMINUS YID ()
-number: YINT ()
-| YBINT ()
-| YNUMB ()
-const_list: const ()
-| const_list YCOMMA const ()
-| YID ()
-| const_list YCOMMA YID ()
-type': simple_type ()
-| YCARET YID ()
-| struct_type ()
-| YPACKED struct_type ()
-simple_type: type_id ()
-| YLPAR id_list YRPAR ()
-| const YDOTDOT const ()
-| YID YDOTDOT const ()
-| const YDOTDOT YID ()
-| YID YDOTDOT YID ()
-struct_type: YARRAY YLBRA simple_type_list YRBRA YOF type' ()
-| YFILE YOF type' ()
-| YSET YOF simple_type ()
-| YRECORD field_list YEND ()
-simple_type_list: simple_type ()
-| simple_type_list YCOMMA simple_type ()
-field_list: fixed_part variant_part ()
-fixed_part: field ()
-| fixed_part YSEMI field ()
-field: ()
-| id_list YCOLON type' ()
-variant_part: ()
-| YCASE type_id YOF variant_list ()
-| YCASE YID YCOLON type_id YOF variant_list ()
-variant_list: variant ()
-| variant_list YSEMI variant ()
+goal: prog_hedr decls block YDOT ()
+| decls ()
+prog_hedr: YPROG YID YLPAR id_list YRPAR YSEMI ()
+| YPROG YID YSEMI ()
+block: YBEGIN stat_list YEND ()
+decls: decls decl ()
+| ()
+decl: labels ()
+| const_decl ()
+| type_decl ()
+| var_decl ()
+| proc_decl ()
+labels: YLABEL label_decl YSEMI ()
+label_decl: YINT ()
+| label_decl YCOMMA YINT ()
+const_decl: YCONST YID YEQUAL const YSEMI ()
+| const_decl YID YEQUAL const YSEMI ()
+| YCONST YID YEQUAL YID YSEMI ()
+| const_decl YID YEQUAL YID YSEMI ()
+type_decl: YTYPE YID YEQUAL type' YSEMI ()
+| type_decl YID YEQUAL type' YSEMI ()
+var_decl: YVAR id_list YCOLON type' YSEMI ()
+| var_decl id_list YCOLON type' YSEMI ()
+proc_decl: phead YFORWARD YSEMI ()
+| phead YEXTERN YSEMI ()
+| pheadres decls block YSEMI ()
+pheadres: phead ()
+phead: porf YID params ftype YSEMI ()
+porf: YPROCEDURE ()
+| YFUNCTION ()
+params: YLPAR param_list YRPAR ()
+| ()
+param: id_list YCOLON type' ()
+| YVAR id_list YCOLON type' ()
+| YFUNCTION id_list params ftype ()
+| YPROCEDURE id_list params ftype ()
+ftype: YCOLON type' ()
+| ()
+param_list: param ()
+| param_list YSEMI param ()
+const: YSTRING ()
+| number ()
+| YPLUS number ()
+| YMINUS number ()
+| YPLUS YID ()
+| YMINUS YID ()
+number: YINT ()
+| YBINT ()
+| YNUMB ()
+const_list: const ()
+| const_list YCOMMA const ()
+| YID ()
+| const_list YCOMMA YID ()
+type': simple_type ()
+| YCARET YID ()
+| struct_type ()
+| YPACKED struct_type ()
+simple_type: type_id ()
+| YLPAR id_list YRPAR ()
+| const YDOTDOT const ()
+| YID YDOTDOT const ()
+| const YDOTDOT YID ()
+| YID YDOTDOT YID ()
+struct_type: YARRAY YLBRA simple_type_list YRBRA YOF type' ()
+| YFILE YOF type' ()
+| YSET YOF simple_type ()
+| YRECORD field_list YEND ()
+simple_type_list: simple_type ()
+| simple_type_list YCOMMA simple_type ()
+field_list: fixed_part variant_part ()
+fixed_part: field ()
+| fixed_part YSEMI field ()
+field: ()
+| id_list YCOLON type' ()
+variant_part: ()
+| YCASE type_id YOF variant_list ()
+| YCASE YID YCOLON type_id YOF variant_list ()
+variant_list: variant ()
+| variant_list YSEMI variant ()
variant: ()
-| const_list YCOLON YLPAR field_list YRPAR ()
-stat_list: stat ()
-| stat_lsth stat ()
-stat_lsth: stat_list YSEMI ()
-cstat_list: cstat ()
-| cstat_list YSEMI cstat ()
-cstat: const_list YCOLON stat ()
-| YCASELAB stat ()
-| ()
-stat: ()
-| YINT YCOLON stat ()
-| YID ()
-| YID YLPAR wexpr_list YRPAR ()
-| assign ()
-| YBEGIN stat_list YEND ()
-| YCASE expr YOF cstat_list YEND ()
-| YWITH var_list YDO stat ()
-| YWHILE expr YDO stat ()
-| YREPEAT stat_list YUNTIL expr ()
-| YFOR assign YTO expr YDO stat ()
-| YFOR assign YDOWNTO expr YDO stat ()
-| YGOTO YINT ()
-| YIF expr YTHEN stat ()
-| YIF expr YTHEN stat YELSE stat ()
-assign: variable YCOLON YEQUAL expr ()
-| YID YCOLON YEQUAL expr ()
-expr: expr relop expr %prec YLESS ()
-| YPLUS expr %prec UNARYSIGN ()
-| YMINUS expr %prec UNARYSIGN ()
-| expr addop expr %prec YPLUS ()
-| expr divop expr %prec YSTAR ()
-| YNIL ()
-| YSTRING ()
-| YINT ()
-| YBINT ()
-| YNUMB ()
-| variable ()
-| YID ()
-| YID YLPAR wexpr_list YRPAR ()
-| YLPAR expr YRPAR ()
-| negop expr %prec YNOT ()
-| YLBRA element_list YRBRA ()
-| YLBRA YRBRA ()
-element_list: element ()
-| element_list YCOMMA element ()
+| const_list YCOLON YLPAR field_list YRPAR ()
+stat_list: stat ()
+| stat_lsth stat ()
+stat_lsth: stat_list YSEMI ()
+cstat_list: cstat ()
+| cstat_list YSEMI cstat ()
+cstat: const_list YCOLON stat ()
+| YCASELAB stat ()
+| ()
+stat: ()
+| YINT YCOLON stat ()
+| YID ()
+| YID YLPAR wexpr_list YRPAR ()
+| assign ()
+| YBEGIN stat_list YEND ()
+| YCASE expr YOF cstat_list YEND ()
+| YWITH var_list YDO stat ()
+| YWHILE expr YDO stat ()
+| YREPEAT stat_list YUNTIL expr ()
+| YFOR assign YTO expr YDO stat ()
+| YFOR assign YDOWNTO expr YDO stat ()
+| YGOTO YINT ()
+| YIF expr YTHEN stat ()
+| YIF expr YTHEN stat YELSE stat ()
+assign: variable YCOLON YEQUAL expr ()
+| YID YCOLON YEQUAL expr ()
+expr: expr relop expr %prec YLESS ()
+| YPLUS expr %prec UNARYSIGN ()
+| YMINUS expr %prec UNARYSIGN ()
+| expr addop expr %prec YPLUS ()
+| expr divop expr %prec YSTAR ()
+| YNIL ()
+| YSTRING ()
+| YINT ()
+| YBINT ()
+| YNUMB ()
+| variable ()
+| YID ()
+| YID YLPAR wexpr_list YRPAR ()
+| YLPAR expr YRPAR ()
+| negop expr %prec YNOT ()
+| YLBRA element_list YRBRA ()
+| YLBRA YRBRA ()
+element_list: element ()
+| element_list YCOMMA element ()
element: expr ()
-| expr YDOTDOT expr ()
-variable: qual_var ()
-qual_var: YID YLBRA expr_list YRBRA ()
-| qual_var YLBRA expr_list YRBRA ()
-| YID YDOT field_id ()
-| qual_var YDOT field_id ()
-| YID YCARET ()
-| qual_var YCARET ()
-wexpr: expr ()
-| expr YCOLON expr ()
-| expr YCOLON expr YCOLON expr ()
-| expr octhex ()
-| expr YCOLON expr octhex ()
-octhex: YOCT ()
-| YHEX ()
-expr_list: expr ()
-| expr_list YCOMMA expr ()
-wexpr_list: wexpr ()
-| wexpr_list YCOMMA wexpr ()
-relop: YEQUAL ()
-| YLESS ()
-| YGREATER ()
-| YLESS YGREATER ()
-| YLESS YEQUAL ()
-| YGREATER YEQUAL ()
-| YIN ()
-addop: YPLUS ()
-| YMINUS ()
-| YOR ()
-| YBAR ()
-divop: YSTAR ()
-| YSLASH ()
-| YDIV ()
-| YMOD ()
-| YAND ()
-| YAMP ()
-negop: YNOT ()
-| YTILDE ()
-var_list: variable ()
-| var_list YCOMMA variable ()
-| YID ()
-| var_list YCOMMA YID ()
+| expr YDOTDOT expr ()
+variable: qual_var ()
+qual_var: YID YLBRA expr_list YRBRA ()
+| qual_var YLBRA expr_list YRBRA ()
+| YID YDOT field_id ()
+| qual_var YDOT field_id ()
+| YID YCARET ()
+| qual_var YCARET ()
+wexpr: expr ()
+| expr YCOLON expr ()
+| expr YCOLON expr YCOLON expr ()
+| expr octhex ()
+| expr YCOLON expr octhex ()
+octhex: YOCT ()
+| YHEX ()
+expr_list: expr ()
+| expr_list YCOMMA expr ()
+wexpr_list: wexpr ()
+| wexpr_list YCOMMA wexpr ()
+relop: YEQUAL ()
+| YLESS ()
+| YGREATER ()
+| YLESS YGREATER ()
+| YLESS YEQUAL ()
+| YGREATER YEQUAL ()
+| YIN ()
+addop: YPLUS ()
+| YMINUS ()
+| YOR ()
+| YBAR ()
+divop: YSTAR ()
+| YSLASH ()
+| YDIV ()
+| YMOD ()
+| YAND ()
+| YAMP ()
+negop: YNOT ()
+| YTILDE ()
+var_list: variable ()
+| var_list YCOMMA variable ()
+| YID ()
+| var_list YCOMMA YID ()
id_list: YID ()
-| id_list YCOMMA YID ()
-const_id: YID ()
+| id_list YCOMMA YID ()
+const_id: YID ()
type_id: YID ()
-var_id: YID ()
-array_id: YID ()
-ptr_id: YID ()
-record_id: YID ()
-field_id: YID ()
+var_id: YID ()
+array_id: YID ()
+ptr_id: YID ()
+record_id: YID ()
+field_id: YID ()
func_id: YID ()
Modified: mlton/trunk/mlyacc/examples/pascal/pascal.lex
===================================================================
--- mlton/trunk/mlyacc/examples/pascal/pascal.lex 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/examples/pascal/pascal.lex 2005-08-21 18:31:31 UTC (rev 4020)
@@ -11,9 +11,9 @@
structure KeyWord : sig
- val find : string ->
+ val find : string ->
(int * int -> (svalue,int) token) option
- end =
+ end =
struct
val TableSize = 211
@@ -97,8 +97,8 @@
octdigit=[0-7];
ws = [\ \t];
%%
-<INITIAL>{ws}+ => (lex());
-<INITIAL>\n+ => (lineNum := (!lineNum) + (String.size yytext); lex());
+<INITIAL>{ws}+ => (lex());
+<INITIAL>\n+ => (lineNum := (!lineNum) + (String.size yytext); lex());
<INITIAL>{alpha}+ => (case find yytext of SOME v => v(!lineNum,!lineNum)
| _ => YID(!lineNum,!lineNum));
<INITIAL>{alpha}({alpha}|{digit})* => (YID(!lineNum,!lineNum));
@@ -107,33 +107,33 @@
<INITIAL>{octdigit}+(b|B) => (YBINT(!lineNum,!lineNum));
<INITIAL>"'"([^']|"''")*"'" => (YSTRING(!lineNum,!lineNum));
<INITIAL>"(*" => (YYBEGIN C; lex());
-<INITIAL>".." => (YDOTDOT(!lineNum,!lineNum));
-<INITIAL>"." => (YDOT(!lineNum,!lineNum));
-<INITIAL>"(" => (YLPAR(!lineNum,!lineNum));
-<INITIAL>")" => (YRPAR(!lineNum,!lineNum));
-<INITIAL>";" => (YSEMI(!lineNum,!lineNum));
-<INITIAL>"," => (YCOMMA(!lineNum,!lineNum));
-<INITIAL>":" => (YCOLON(!lineNum,!lineNum));
-<INITIAL>"^" => (YCARET(!lineNum,!lineNum));
-<INITIAL>"[" => (YLBRA(!lineNum,!lineNum));
-<INITIAL>"]" => (YRBRA(!lineNum,!lineNum));
-<INITIAL>"~" => (YTILDE(!lineNum,!lineNum));
-<INITIAL>"<" => (YLESS(!lineNum,!lineNum));
-<INITIAL>"=" => (YEQUAL(!lineNum,!lineNum));
-<INITIAL>">" => (YGREATER(!lineNum,!lineNum));
-<INITIAL>"+" => (YPLUS(!lineNum,!lineNum));
-<INITIAL>"-" => (YMINUS(!lineNum,!lineNum));
-<INITIAL>"|" => (YBAR(!lineNum,!lineNum));
-<INITIAL>"*" => (YSTAR(!lineNum,!lineNum));
-<INITIAL>"/" => (YSLASH(!lineNum,!lineNum));
-<INITIAL>"{" => (YYBEGIN B; lex());
-<INITIAL>. => (YILLCH(!lineNum,!lineNum));
-<C>\n+ => (lineNum := (!lineNum) + (String.size yytext); lex());
-<C>[^()*\n]+ => (lex());
-<C>"(*" => (lex());
-<C>"*)" => (YYBEGIN INITIAL; lex());
+<INITIAL>".." => (YDOTDOT(!lineNum,!lineNum));
+<INITIAL>"." => (YDOT(!lineNum,!lineNum));
+<INITIAL>"(" => (YLPAR(!lineNum,!lineNum));
+<INITIAL>")" => (YRPAR(!lineNum,!lineNum));
+<INITIAL>";" => (YSEMI(!lineNum,!lineNum));
+<INITIAL>"," => (YCOMMA(!lineNum,!lineNum));
+<INITIAL>":" => (YCOLON(!lineNum,!lineNum));
+<INITIAL>"^" => (YCARET(!lineNum,!lineNum));
+<INITIAL>"[" => (YLBRA(!lineNum,!lineNum));
+<INITIAL>"]" => (YRBRA(!lineNum,!lineNum));
+<INITIAL>"~" => (YTILDE(!lineNum,!lineNum));
+<INITIAL>"<" => (YLESS(!lineNum,!lineNum));
+<INITIAL>"=" => (YEQUAL(!lineNum,!lineNum));
+<INITIAL>">" => (YGREATER(!lineNum,!lineNum));
+<INITIAL>"+" => (YPLUS(!lineNum,!lineNum));
+<INITIAL>"-" => (YMINUS(!lineNum,!lineNum));
+<INITIAL>"|" => (YBAR(!lineNum,!lineNum));
+<INITIAL>"*" => (YSTAR(!lineNum,!lineNum));
+<INITIAL>"/" => (YSLASH(!lineNum,!lineNum));
+<INITIAL>"{" => (YYBEGIN B; lex());
+<INITIAL>. => (YILLCH(!lineNum,!lineNum));
+<C>\n+ => (lineNum := (!lineNum) + (String.size yytext); lex());
+<C>[^()*\n]+ => (lex());
+<C>"(*" => (lex());
+<C>"*)" => (YYBEGIN INITIAL; lex());
<C>[*()] => (lex());
-<B>\n+ => (lineNum := (!lineNum) + (String.size yytext); lex());
-<B>[^{}\n]+ => (lex());
-<B>"{" => (lex());
-<B>"}" => (YYBEGIN INITIAL; lex());
+<B>\n+ => (lineNum := (!lineNum) + (String.size yytext); lex());
+<B>[^{}\n]+ => (lex());
+<B>"{" => (lex());
+<B>"}" => (YYBEGIN INITIAL; lex());
Modified: mlton/trunk/mlyacc/src/core.sml
===================================================================
--- mlton/trunk/mlyacc/src/core.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/core.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -50,7 +50,7 @@
in fn (ITEM {rule=RULE {lhs,rhs,rulenum,num,...},
dot,rhsAfter,...}) =>
(prNonterm lhs; print " : "; showRhs(rhs,dot);
- case rhsAfter
+ case rhsAfter
of nil => (print " (reduce by rule ";
printInt rulenum;
print ")")
@@ -65,8 +65,8 @@
in fn (CORE (items,state)) =>
(print "state ";
print (Int.toString state);
- print ":\n\n";
- app (fn i => (print "\t";
+ print ":\n\n";
+ app (fn i => (print "\t";
prItem i; print "\n")) items;
print "\n")
end
Modified: mlton/trunk/mlyacc/src/coreutils.sml
===================================================================
--- mlton/trunk/mlyacc/src/coreutils.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/coreutils.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -115,8 +115,8 @@
let fun add_item (a as RULE{rhs=symbol::rest,...},r) =
let val item = ITEM{rule=a,dot=1,rhsAfter=rest}
in Assoc.insert((symbol,case Assoc.find (symbol,r)
- of SOME l => item::l
- | NONE => [item]),r)
+ of SOME l => item::l
+ | NONE => [item]),r)
end
| add_item (_,r) = r
in List.foldr add_item Assoc.empty (produces nt)
@@ -137,7 +137,7 @@
order *)
fun closureNonterms a =
let val nonterms = getNonterms a
- in List.foldr (fn (nt,r) =>
+ in List.foldr (fn (nt,r) =>
NtList.union(nontermClosure nt,r))
nonterms nonterms
end
Modified: mlton/trunk/mlyacc/src/grammar.sml
===================================================================
--- mlton/trunk/mlyacc/src/grammar.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/grammar.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -11,9 +11,9 @@
datatype symbol = TERM of term | NONTERM of nonterm
datatype grammar = GRAMMAR of
{rules: {lhs: nonterm,
- rhs: symbol list,
- precedence: int option,
- rulenum: int} list,
+ rhs: symbol list,
+ precedence: int option,
+ rulenum: int} list,
noshift : term list,
eop : term list,
terms: int,
@@ -30,7 +30,7 @@
open Grammar
datatype rule = RULE of
- {lhs: nonterm,
+ {lhs: nonterm,
rhs: symbol list,
num: int,(* internal # assigned by coreutils *)
rulenum: int,
@@ -85,7 +85,7 @@
let val printRule =
let val prRule = prRule a
in fn {lhs,rhs,precedence,rulenum} =>
- (prRule (RULE {lhs=lhs,rhs=rhs,num=0,
+ (prRule (RULE {lhs=lhs,rhs=rhs,num=0,
rulenum=rulenum, precedence=precedence});
print "\n")
end
Modified: mlton/trunk/mlyacc/src/graph.sml
===================================================================
--- mlton/trunk/mlyacc/src/graph.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/graph.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -60,12 +60,12 @@
in {nodes=nodes,
edges=Array.fromList (rev edge_list),
nodeArray = Array.fromList nodes
- }
+ }
end
| f (nodes,node_list,edge_list,nil,y,num) =
f (nodes,node_list,edge_list,rev y,nil,num)
| f (nodes,node_list,edge_list,h::t,y,num) =
- let val (nodes,edges,future,num) =
+ let val (nodes,edges,future,num) =
List.foldr add_goto (nodes,[],y,num) (shifts h)
in f (nodes,h::node_list,
edges::edge_list,t,future,num)
@@ -76,7 +76,7 @@
val initialItemList = map makeItem (produces start)
val orderedItemList =
List.foldr Core.insert [] initialItemList
- val initial = CORE (orderedItemList,0)
+ val initial = CORE (orderedItemList,0)
in f(empty,nil,nil,[initial],nil,1)
end,
produces=produces,
Modified: mlton/trunk/mlyacc/src/hdr.sml
===================================================================
--- mlton/trunk/mlyacc/src/hdr.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/hdr.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -74,7 +74,7 @@
datatype rule = RULE of {lhs : symbol, rhs : symbol list,
code : string, prec : symbol option}
- type parseResult = string * declData * rule list
+ type parseResult = string * declData * rule list
val getResult = fn p => p
fun join_decls
@@ -93,7 +93,7 @@
fun mergeControl (nil,a) = [a]
| mergeControl (l as h::t,a) =
case (h,a)
- of (PARSER_NAME _,PARSER_NAME n1) => (ignore "%name"; l)
+ of (PARSER_NAME _,PARSER_NAME n1) => (ignore "%name"; l)
| (FUNCTOR _,FUNCTOR _) => (ignore "%header"; l)
| (PARSE_ARG _,PARSE_ARG _) => (ignore "%arg"; l)
| (START_SYM _,START_SYM s) => (ignore "%start"; l)
Modified: mlton/trunk/mlyacc/src/lalr.sml
===================================================================
--- mlton/trunk/mlyacc/src/lalr.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/lalr.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -122,10 +122,10 @@
in f (n, r)
end
- val check_rule = fn (rule as RULE {num,...}) =>
+ val check_rule = fn (rule as RULE {num,...}) =>
let val pos = rule_pos rule
in (print "look_pos: ";
- prRule rule;
+ prRule rule;
print " = ";
printInt pos;
print "\n";
@@ -197,7 +197,7 @@
fn (rule as RULE {rhs=nil,...}) =>
[findRef(state,ITEM{rule=rule,dot=0,rhsAfter=nil})]
| (rule as RULE {rhs=sym::rest,...}) =>
- let val pos = Int.max(look_pos rule,1)
+ let val pos = Int.max(look_pos rule,1)
fun scan'(state,nil,pos,result) =
findRef(state,ITEM{rule=rule,
dot=pos,
@@ -416,7 +416,7 @@
have a derivation S =+=> .C x, where x is nullable *)
if dot >= (look_pos rule) then
- case item
+ case item
of ITEM{rhsAfter=NONTERM b :: _,...} =>
(case add_nonterm_lookahead(b,state)
of nil => ()
Modified: mlton/trunk/mlyacc/src/look.sml
===================================================================
--- mlton/trunk/mlyacc/src/look.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/look.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -90,10 +90,10 @@
fun scanRhs addSymbol =
let fun f (nil,result) = result
- | f ((sym as NONTERM nt) :: rest,result) =
+ | f ((sym as NONTERM nt) :: rest,result) =
if nullable nt then f (rest,addSymbol(sym,result))
else addSymbol(sym,result)
- | f ((sym as TERM _) :: _,result) = addSymbol(sym,result)
+ | f ((sym as TERM _) :: _,result) = addSymbol(sym,result)
in f
end
@@ -138,7 +138,7 @@
fun first nt =
List.foldr (fn (a,r) => TermSet.union(r,first1 a))
- [] (NontermSet.closure (NontermSet.singleton nt, starters1))
+ [] (NontermSet.closure (NontermSet.singleton nt, starters1))
val first = nontermMemo(first)
Modified: mlton/trunk/mlyacc/src/mklrtable.sml
===================================================================
--- mlton/trunk/mlyacc/src/mklrtable.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/mklrtable.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -18,10 +18,10 @@
infix 9 sub
structure Core = mkCore(structure IntGrammar = IntGrammar)
structure CoreUtils = mkCoreUtils(structure IntGrammar = IntGrammar
- structure Core = Core)
+ structure Core = Core)
structure Graph = mkGraph(structure IntGrammar = IntGrammar
- structure Core = Core
- structure CoreUtils = CoreUtils)
+ structure Core = Core
+ structure CoreUtils = CoreUtils)
structure Look = mkLook(structure IntGrammar = IntGrammar)
structure Lalr = mkLalr(structure IntGrammar = IntGrammar
structure Core = Core
@@ -160,7 +160,7 @@
let val merge = fn state =>
let fun f (j as (pair1 as (T t1,action1)) :: r1,
k as (pair2 as (T t2,action2)) :: r2,result,errs) =
- if t1 < t2 then f(r1,k,pair1::result,errs)
+ if t1 < t2 then f(r1,k,pair1::result,errs)
else if t1 > t2 then f(j,r2,pair2::result,errs)
else let val num1 = unREDUCE action1
val num2 = unREDUCE action2
@@ -211,11 +211,11 @@
f(r1,r2,pair1 :: result,
SR (term1,state,rulenum)::errs)
end
- | f (nil,nil,result,errs) = (rev result,errs)
- | f (nil,h::t,result,errs) =
- f (nil,t,h::result,errs)
- | f (h::t,nil,result,errs) =
- f (t,nil,h::result,errs)
+ | f (nil,nil,result,errs) = (rev result,errs)
+ | f (nil,h::t,result,errs) =
+ f (nil,t,h::result,errs)
+ | f (h::t,nil,result,errs) =
+ f (t,nil,h::result,errs)
in f(shifts,reduces,nil,nil)
end
@@ -269,10 +269,10 @@
List.foldr (mergeReduces tableState) (nil,nil) l
val (actions,errs2) =
mergeShifts(tableState,shifts,reduces)
- in ((pruneError actions,ERROR),gotos,errs1@errs2)
+ in ((pruneError actions,ERROR),gotos,errs1@errs2)
end
end
- end
+ end
val mkTable = fn (grammar as GRAMMAR{rules,terms,nonterms,start,
precedence,termToString,noshift,
@@ -329,14 +329,14 @@
end
val startErrs =
- List.foldr (fn (RULE {rhs,rulenum,...},r) =>
+ List.foldr (fn (RULE {rhs,rulenum,...},r) =>
if (exists (fn NONTERM a => a=start
| _ => false) rhs)
then START rulenum :: r
else r) [] rules
val nonshiftErrs =
- List.foldr (fn (RULE {rhs,rulenum,...},r) =>
+ List.foldr (fn (RULE {rhs,rulenum,...},r) =>
(List.foldr (fn (nonshift,r) =>
if (exists (fn TERM a => a=nonshift
| _ => false) rhs)
@@ -358,7 +358,7 @@
else NOT_REDUCED i :: r)
else r
in scan(Array.length ruleReduced-1,nil)
- end handle Subscript =>
+ end handle Subscript =>
(if DEBUG then
print "rules not numbered correctly!"
else (); nil)
@@ -383,7 +383,7 @@
end,
fn print =>
- let val printCore =
+ let val printCore =
prCore(symbolToString,nontermToString,print)
val core = Graph.core graph
in fn STATE state =>
Modified: mlton/trunk/mlyacc/src/shrink.sml
===================================================================
--- mlton/trunk/mlyacc/src/shrink.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/shrink.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -108,14 +108,14 @@
We then return the length of R, R, and the list that results from
permuting SE by P.
- *)
+ *)
type entry = A.entry
val gt = fn ((a,_),(b,_)) => A.gt(a,b)
structure Sort = MergeSortFun(type entry = A.entry * int
- val gt = gt)
+ val gt = gt)
val assignIndex =
fn l =>
let fun loop (index,nil) = nil
Modified: mlton/trunk/mlyacc/src/sigs.sml
===================================================================
--- mlton/trunk/mlyacc/src/sigs.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/sigs.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -114,7 +114,7 @@
(* internal number of rule - convenient for producing LR graph *)
- num : int,
+ num : int,
rulenum : int,
precedence : int option}
@@ -237,7 +237,7 @@
signature LOOK =
sig
- structure Grammar : GRAMMAR
+ structure Grammar : GRAMMAR
structure IntGrammar : INTGRAMMAR
sharing Grammar = IntGrammar.Grammar
@@ -246,7 +246,7 @@
val mkFuncs : {rules : IntGrammar.rule list, nonterms : int,
produces : Grammar.nonterm -> IntGrammar.rule list} ->
- {nullable: Grammar.nonterm -> bool,
+ {nullable: Grammar.nonterm -> bool,
first : Grammar.symbol list -> Grammar.term list}
val prLook : (Grammar.term -> string) * (string -> unit) ->
@@ -363,7 +363,7 @@
LrTable.table *
(LrTable.state -> Errs.err list) * (* errors in a state *)
((string -> unit) -> LrTable.state -> unit) *
- Errs.err list (* list of all errors *)
+ Errs.err list (* list of all errors *)
end;
(* SHRINK_LR_TABLE: finds unique action entry rows in the action table
Modified: mlton/trunk/mlyacc/src/utils.sml
===================================================================
--- mlton/trunk/mlyacc/src/utils.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/utils.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -40,7 +40,7 @@
*)
functor ListOrdSet(B : sig type elem
- val gt : elem * elem -> bool
+ val gt : elem * elem -> bool
val eq : elem * elem -> bool
end ) : ORDSET =
@@ -58,17 +58,17 @@
if elem_gt(key,h) then h::(f t)
else if elem_eq(key,h) then key::t
else key::l
- | f nil = [key]
+ | f nil = [key]
in f s
end
val select_arb = fn nil => raise Select_arb
- | a::b => a
+ | a::b => a
val exists = fn (key,s) =>
let fun f (h::t) = if elem_gt(key,h) then f t
else elem_eq(h,key)
- | f nil = false
+ | f nil = false
in f s
end
@@ -76,7 +76,7 @@
let fun f (h::t) = if elem_gt(key,h) then f t
else if elem_eq(h,key) then SOME h
else NONE
- | f nil = NONE
+ | f nil = NONE
in f s
end
@@ -184,7 +184,7 @@
functor RbOrdSet (B : sig type elem
val eq : (elem*elem) -> bool
- val gt : (elem*elem) -> bool
+ val gt : (elem*elem) -> bool
end
) : ORDSET =
struct
Modified: mlton/trunk/mlyacc/src/verbose.sml
===================================================================
--- mlton/trunk/mlyacc/src/verbose.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/verbose.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -16,12 +16,12 @@
let val printInt = print o (Int.toString : int -> string)
in fn (SHIFT (STATE i)) =>
(print "\tshift ";
- printInt i;
- print "\n")
+ printInt i;
+ print "\n")
| (REDUCE rulenum) =>
(print "\treduce by rule ";
- printInt rulenum;
- print "\n")
+ printInt rulenum;
+ print "\n")
| ACCEPT => print "\taccept\n"
| ERROR => print "\terror\n"
end
@@ -36,7 +36,7 @@
end
val mkPrintTermAction = fn (printTerm,print) =>
- let val printAction = mkPrintAction print
+ let val printAction = mkPrintAction print
in fn (term,action) =>
(print "\t";
printTerm term;
Modified: mlton/trunk/mlyacc/src/yacc.grm
===================================================================
--- mlton/trunk/mlyacc/src/yacc.grm 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/yacc.grm 2005-08-21 18:31:31 UTC (rev 4020)
@@ -12,7 +12,7 @@
%left ASTERISK
%pos int
-%term ARROW | ASTERISK | BLOCK | BAR | CHANGE | COLON |
+%term ARROW | ASTERISK | BLOCK | BAR | CHANGE | COLON |
COMMA | DELIMITER | EOF | FOR |
HEADER of string | ID of string*int | IDDOT of string |
PERCENT_HEADER | INT of string | KEYWORD | LBRACE | LPAREN |
@@ -28,8 +28,8 @@
BEGIN of string * Hdr.declData * (Hdr.rule list) |
CONSTR_LIST of (Hdr.symbol * Hdr.ty option) list |
ID_LIST of Hdr.symbol list |
- LABEL of string |
- MPC_DECL of Hdr.declData |
+ LABEL of string |
+ MPC_DECL of Hdr.declData |
MPC_DECLS of Hdr.declData |
QUAL_ID of string |
RECORD_LIST of string |
@@ -42,7 +42,7 @@
SUBST_DEC of (Hdr.symbol list * Hdr.symbol list) |
CHANGE_DECL of (Hdr.symbol list * Hdr.symbol list) list |
CHANGE_DEC of (Hdr.symbol list * Hdr.symbol list) |
- TY of string
+ TY of string
%header (
functor MlyaccLrValsFun(structure Hdr : HEADER
where type prec = Header.prec
@@ -85,12 +85,12 @@
| PERCENT_EOP ID_LIST
(DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,
eop=ID_LIST, change=nil,keyword=nil,
- value=nil})
+ value=nil})
| KEYWORD ID_LIST
(DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
change=nil,keyword=ID_LIST,
- value=nil})
+ value=nil})
| PREFER ID_LIST
(DECL {prec=nil,control=nil,nonterm=NONE,term=NONE,eop=nil,
@@ -182,15 +182,15 @@
G_RULE : ID COLON RHS_LIST
(map (fn {rhs,code,prec} =>
- Hdr.RULE {lhs=symbolMake ID,rhs=rhs,
+ Hdr.RULE {lhs=symbolMake ID,rhs=rhs,
code=code,prec=prec})
RHS_LIST)
G_RULE_LIST: G_RULE_LIST G_RULE (G_RULE@G_RULE_LIST)
- | G_RULE (G_RULE)
+ | G_RULE (G_RULE)
ID_LIST : ID ID_LIST (symbolMake ID :: ID_LIST)
- | (nil)
+ | (nil)
RHS_LIST : ID_LIST G_RULE_PREC PROG
([{rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}])
@@ -199,7 +199,7 @@
({rhs=ID_LIST,code=PROG,prec=G_RULE_PREC}::RHS_LIST)
TY : TYVAR
- (TYVAR)
+ (TYVAR)
| LBRACE RECORD_LIST RBRACE
("{ "^RECORD_LIST^" } ")
| LBRACE RBRACE
@@ -220,7 +220,7 @@
| LABEL COLON TY
(LABEL^":"^TY)
-QUAL_ID : ID ((fn (a,_) => a) ID)
+QUAL_ID : ID ((fn (a,_) => a) ID)
| IDDOT QUAL_ID (IDDOT^QUAL_ID)
LABEL : ID ((fn (a,_) => a) ID)
Modified: mlton/trunk/mlyacc/src/yacc.lex
===================================================================
--- mlton/trunk/mlyacc/src/yacc.lex 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/yacc.lex 2005-08-21 18:31:31 UTC (rev 4020)
@@ -74,54 +74,54 @@
tyvar="'"{idchars}*;
qualid ={id}".";
%%
-<INITIAL>"(*" => (Add yytext; YYBEGIN COMMENT; commentLevel := 1;
+<INITIAL>"(*" => (Add yytext; YYBEGIN COMMENT; commentLevel := 1;
continue() before YYBEGIN INITIAL);
-<A>"(*" => (YYBEGIN EMPTYCOMMENT; commentLevel := 1; continue());
-<CODE>"(*" => (Add yytext; YYBEGIN COMMENT; commentLevel := 1;
+<A>"(*" => (YYBEGIN EMPTYCOMMENT; commentLevel := 1; continue());
+<CODE>"(*" => (Add yytext; YYBEGIN COMMENT; commentLevel := 1;
continue() before YYBEGIN CODE);
<INITIAL>[^%\013\n]+ => (Add yytext; continue());
-<INITIAL>"%%" => (YYBEGIN A; HEADER (concat (rev (!text)),!lineno,!lineno));
+<INITIAL>"%%" => (YYBEGIN A; HEADER (concat (rev (!text)),!lineno,!lineno));
<INITIAL,CODE,COMMENT,F,EMPTYCOMMENT>{eol} => (Add yytext; inc lineno; continue());
-<INITIAL>. => (Add yytext; continue());
+<INITIAL>. => (Add yytext; continue());
<A>{eol} => (inc lineno; continue ());
<A>{ws}+ => (continue());
-<A>of => (OF(!lineno,!lineno));
-<A>for => (FOR(!lineno,!lineno));
-<A>"{" => (LBRACE(!lineno,!lineno));
-<A>"}" => (RBRACE(!lineno,!lineno));
-<A>"," => (COMMA(!lineno,!lineno));
-<A>"*" => (ASTERISK(!lineno,!lineno));
-<A>"->" => (ARROW(!lineno,!lineno));
-<A>"%left" => (PREC(Hdr.LEFT,!lineno,!lineno));
-<A>"%right" => (PREC(Hdr.RIGHT,!lineno,!lineno));
-<A>"%nonassoc" => (PREC(Hdr.NONASSOC,!lineno,!lineno));
-<A>"%"[a-z_]+ => (lookup(yytext,!lineno,!lineno));
-<A>{tyvar} => (TYVAR(yytext,!lineno,!lineno));
-<A>{qualid} => (IDDOT(yytext,!lineno,!lineno));
-<A>[0-9]+ => (INT (yytext,!lineno,!lineno));
-<A>"%%" => (DELIMITER(!lineno,!lineno));
-<A>":" => (COLON(!lineno,!lineno));
-<A>"|" => (BAR(!lineno,!lineno));
-<A>{id} => (ID ((yytext,!lineno),!lineno,!lineno));
-<A>"(" => (pcount := 1; actionstart := (!lineno);
+<A>of => (OF(!lineno,!lineno));
+<A>for => (FOR(!lineno,!lineno));
+<A>"{" => (LBRACE(!lineno,!lineno));
+<A>"}" => (RBRACE(!lineno,!lineno));
+<A>"," => (COMMA(!lineno,!lineno));
+<A>"*" => (ASTERISK(!lineno,!lineno));
+<A>"->" => (ARROW(!lineno,!lineno));
+<A>"%left" => (PREC(Hdr.LEFT,!lineno,!lineno));
+<A>"%right" => (PREC(Hdr.RIGHT,!lineno,!lineno));
+<A>"%nonassoc" => (PREC(Hdr.NONASSOC,!lineno,!lineno));
+<A>"%"[a-z_]+ => (lookup(yytext,!lineno,!lineno));
+<A>{tyvar} => (TYVAR(yytext,!lineno,!lineno));
+<A>{qualid} => (IDDOT(yytext,!lineno,!lineno));
+<A>[0-9]+ => (INT (yytext,!lineno,!lineno));
+<A>"%%" => (DELIMITER(!lineno,!lineno));
+<A>":" => (COLON(!lineno,!lineno));
+<A>"|" => (BAR(!lineno,!lineno));
+<A>{id} => (ID ((yytext,!lineno),!lineno,!lineno));
+<A>"(" => (pcount := 1; actionstart := (!lineno);
text := nil; YYBEGIN CODE; continue() before YYBEGIN A);
-<A>. => (UNKNOWN(yytext,!lineno,!lineno));
-<CODE>"(" => (inc pcount; Add yytext; continue());
-<CODE>")" => (dec pcount;
+<A>. => (UNKNOWN(yytext,!lineno,!lineno));
+<CODE>"(" => (inc pcount; Add yytext; continue());
+<CODE>")" => (dec pcount;
if !pcount = 0 then
PROG (concat (rev (!text)),!lineno,!lineno)
else (Add yytext; continue()));
-<CODE>"\"" => (Add yytext; YYBEGIN STRING; continue());
+<CODE>"\"" => (Add yytext; YYBEGIN STRING; continue());
<CODE>[^()"\n\013]+ => (Add yytext; continue());
-<COMMENT>[(*)] => (Add yytext; continue());
-<COMMENT>"*)" => (Add yytext; dec commentLevel;
+<COMMENT>[(*)] => (Add yytext; continue());
+<COMMENT>"*)" => (Add yytext; dec commentLevel;
if !commentLevel=0
then BOGUS_VALUE(!lineno,!lineno)
else continue()
);
-<COMMENT>"(*" => (Add yytext; inc commentLevel; continue());
+<COMMENT>"(*" => (Add yytext; inc commentLevel; continue());
<COMMENT>[^*()\n\013]+ => (Add yytext; continue());
<EMPTYCOMMENT>[(*)] => (continue());
@@ -131,17 +131,17 @@
<EMPTYCOMMENT>"(*" => (inc commentLevel; continue());
<EMPTYCOMMENT>[^*()\n\013]+ => (continue());
-<STRING>"\"" => (Add yytext; YYBEGIN CODE; continue());
-<STRING>\\ => (Add yytext; continue());
-<STRING>{eol} => (Add yytext; error inputSource (!lineno) "unclosed string";
- inc lineno; YYBEGIN CODE; continue());
+<STRING>"\"" => (Add yytext; YYBEGIN CODE; continue());
+<STRING>\\ => (Add yytext; continue());
+<STRING>{eol} => (Add yytext; error inputSource (!lineno) "unclosed string";
+ inc lineno; YYBEGIN CODE; continue());
<STRING>[^"\\\n\013]+ => (Add yytext; continue());
-<STRING>\\\" => (Add yytext; continue());
+<STRING>\\\" => (Add yytext; continue());
<STRING>\\{eol} => (Add yytext; inc lineno; YYBEGIN F; continue());
<STRING>\\[\ \t] => (Add yytext; YYBEGIN F; continue());
-<F>{ws} => (Add yytext; continue());
-<F>\\ => (Add yytext; YYBEGIN STRING; continue());
-<F>. => (Add yytext; error inputSource (!lineno) "unclosed string";
+<F>{ws} => (Add yytext; continue());
+<F>\\ => (Add yytext; YYBEGIN STRING; continue());
+<F>. => (Add yytext; error inputSource (!lineno) "unclosed string";
YYBEGIN CODE; continue());
Modified: mlton/trunk/mlyacc/src/yacc.sml
===================================================================
--- mlton/trunk/mlyacc/src/yacc.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/mlyacc/src/yacc.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -31,7 +31,7 @@
val lineLength : int = 70
(* record type describing names of structures in the program being
- generated *)
+ generated *)
datatype names = NAMES
of {miscStruct : string, (* Misc{n} struct name *)
@@ -47,7 +47,7 @@
(* which holds parser data *)
dataSig:string (* signature for this structure *)
- }
+ }
val DEBUG = true
exception Semantic
@@ -83,7 +83,7 @@
tokenInfo : string option}
structure SymbolHash = Hash(type elem = string
- val gt = (op >) : string*string -> bool)
+ val gt = (op >) : string*string -> bool)
structure TermTable = Table(type key = Grammar.term
val gt = fn (T i,T j) => i > j)
@@ -315,7 +315,7 @@
PAPP(valueStruct^"."^ntvoid,
PVAR symNum)
else WILD)
- else
+ else
PAPP(valueStruct^"."^symString,
if num=1 andalso pureActions
then AS(symNum,PVAR symString)
@@ -396,7 +396,7 @@
(printCase(rulenum,rule); say "| ")) rules;
sayln "_ => raise (mlyAction i392)")
- in say "structure ";
+ in say "structure ";
say actionsStruct;
sayln " =";
sayln "struct ";
@@ -797,7 +797,7 @@
val entries = ref 0 (* save number of action table entries here *)
in let val result = TextIO.openOut (spec ^ ".sml")
- val sigs = TextIO.openOut (spec ^ ".sig")
+ val sigs = TextIO.openOut (spec ^ ".sig")
val pos = ref 0
val pr = fn s => TextIO.output(result,s)
val say = fn s => let val l = String.size s
@@ -819,7 +819,7 @@
in f 0
end
val values = VALS {say=say,sayln=sayln,saydot=saydot,
- termvoid=termvoid, ntvoid = ntvoid,
+ termvoid=termvoid, ntvoid = ntvoid,
hasType=hasType, pos_type = pos_type,
arg_type = #2 arg_decl,
start=start,pureActions=pureActions,
Modified: mlton/trunk/regression/README
===================================================================
--- mlton/trunk/regression/README 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/README 2005-08-21 18:31:31 UTC (rev 4020)
@@ -31,5 +31,5 @@
contains tests of the module system.
nonterminate/
- contains tests that should compile, but when run, should not terminate.
+ contains tests that should compile, but when run, should not terminate.
Modified: mlton/trunk/regression/array.sml
===================================================================
--- mlton/trunk/regression/array.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/array.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -131,7 +131,7 @@
val _ = copy{src=e, si=0, dst=g, di=0, len=NONE};
val test10a = tst' "test10a" (fn () => ev = extract(e, 0, SOME (length e))
- andalso ev = extract(e, 0, NONE));
+ andalso ev = extract(e, 0, NONE));
val test10b = tst' "test10b" (fn () => ev = extract(g, 0, SOME (length g))
andalso ev = extract(g, 0, NONE));
Modified: mlton/trunk/regression/bytechar.sml
===================================================================
--- mlton/trunk/regression/bytechar.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/bytechar.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -243,7 +243,7 @@
fun chk c = Char.fromString(Char.toString c) = SOME c
in tst' "test37" (fn _ => List.all chk chars) end
-val test38 =
+val test38 =
let fun chkFromString (arg, res) = Char.fromString arg = SOME res
val argResList =
[("A", #"A"),
Modified: mlton/trunk/regression/eqtype.sml
===================================================================
--- mlton/trunk/regression/eqtype.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/eqtype.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1,4 +1,4 @@
-signature T =
+signature T =
sig
eqtype s
structure V:
@@ -59,7 +59,7 @@
fun f (x: S.u) = x = x
end
-signature T =
+signature T =
sig
eqtype s
structure U:
Modified: mlton/trunk/regression/fail/eqtype.1.sml
===================================================================
--- mlton/trunk/regression/fail/eqtype.1.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/fail/eqtype.1.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1,7 +1,7 @@
(* This should fail because v is an eqtype and s does not admit equality.
* Hence, the side condition on rule 64 fails.
*)
-signature T =
+signature T =
sig
type s
structure V:
Modified: mlton/trunk/regression/filesys.sml
===================================================================
--- mlton/trunk/regression/filesys.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/filesys.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -182,7 +182,7 @@
tst' "test15a" (fn _ =>
fileId "." = fileId "."
andalso fileId "testlink" = fileId "README"
- andalso fileId "." <> fileId "README");
+ andalso fileId "." <> fileId "README");
val test15b =
tst' "test15b" (fn _ => compare(fileId ".", fileId ".") = EQUAL)
val test15b1 =
Modified: mlton/trunk/regression/int.sml
===================================================================
--- mlton/trunk/regression/int.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/int.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -34,7 +34,7 @@
infix 7 quot rem
fun divmod s (i, d, q, r) = tst s (i div d = q andalso i mod d = r);
fun quotrem s (i, d, q, r) = tst s (i quot d = q andalso i rem d = r);
-in
+in
val test1a = divmod "test1a" (10, 3, 3, 1);
val test1b = divmod "test1b" (~10, 3, ~4, 2);
@@ -88,7 +88,7 @@
val test13b =
List.map (fn s => tst0 "test13b" (case fromString s of NONE => "OK" | _ => "WRONG"))
["", "-", "~", "+", " \n\t", " \n\t-", " \n\t~", " \n\t+",
- "+ 1", "~ 1", "- 1", "ff"];
+ "+ 1", "~ 1", "- 1", "ff"];
val test14a =
List.map (chkScan StringCvt.DEC)
@@ -111,7 +111,7 @@
List.map (fn s => tst0 "test14b" (case StringCvt.scanString (scan StringCvt.DEC) s
of NONE => "OK" | _ => "WRONG"))
["", "-", "~", "+", " \n\t", " \n\t-", " \n\t~", " \n\t+",
- "+ 1", "~ 1", "- 1", "ff"];
+ "+ 1", "~ 1", "- 1", "ff"];
val test15a =
List.map (chkScan StringCvt.BIN)
Modified: mlton/trunk/regression/kitkbjul9.sml
===================================================================
--- mlton/trunk/regression/kitkbjul9.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/kitkbjul9.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -62,7 +62,7 @@
| map_rec (a::L) = f a :: map_rec L
in
map_rec
- end
+ end
*)
(******* Quelques definitions du prelude CAML **************)
Modified: mlton/trunk/regression/kitqsort.sml
===================================================================
--- mlton/trunk/regression/kitqsort.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/kitqsort.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -2,8 +2,8 @@
(* quicksort-random.sml
*
- * Input....: Random list (pseudo-random integers)
- * Optimised: 'arg as ...' in quickSort'() and partition().
+ * Input....: Random list (pseudo-random integers)
+ * Optimised: 'arg as ...' in quickSort'() and partition().
* Copying left-parts after partitioning inside quickSort'().
* `Bertelsen transformation' of argument to tail-recursive
* call to quickSort'().
@@ -52,7 +52,7 @@
| quickSort' ([a], sorted) = ([], a::sorted)
| quickSort' (a::bs, sorted) = (* "a" is the pivot *)
let
- fun partition (arg as (_, _, []: elem list)) = arg
+ fun partition (arg as (_, _, []: elem list)) = arg
| partition (left, right, x::xr) =
if x<=a then partition(x::left, right, xr)
else partition(left, x::right, xr)
Modified: mlton/trunk/regression/kitsimple.sml
===================================================================
--- mlton/trunk/regression/kitsimple.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/kitsimple.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -204,28 +204,28 @@
*)
val grid_size = ((2,grid_max), (2,grid_max))
-fun north (k,l) = (k-1,l)
-fun south (k,l) = (k+1,l)
+fun north (k,l) = (k-1,l)
+fun south (k,l) = (k+1,l)
fun east (k,l) = (k,l+1)
fun west (k,l) = (k,l-1)
val northeast = north o east
val southeast = south o east
-val northwest = north o west
+val northwest = north o west
val southwest = south o west
type dir = int * int -> int * int
val farnorth : dir = north o north
val farsouth : dir = south o south
-val fareast : dir = east o east
+val fareast : dir = east o east
val farwest : dir = west o west
fun zone_A(k,l) = (k,l)
fun zone_B(k,l) = (k+1,l)
-fun zone_C(k,l) = (k+1,l+1)
+fun zone_C(k,l) = (k+1,l+1)
fun zone_D(k,l) = (k,l+1)
val zone_corner_northeast = north
@@ -233,23 +233,23 @@
fun zone_corner_southeast zone = zone
val zone_corner_southwest = west
-val ((kmin,kmax),(lmin,lmax)) = grid_size
-val dimension_all_nodes = ((kmin-1,kmax+1),(lmin-1,lmax+1))
+val ((kmin,kmax),(lmin,lmax)) = grid_size
+val dimension_all_nodes = ((kmin-1,kmax+1),(lmin-1,lmax+1))
fun for_all_nodes f =
for {from=kmin-1, step=1, to=kmax+1} (fn k =>
for {from=lmin-1, step=1, to=lmax+1} (fn l => f k l))
-val dimension_interior_nodes = ((kmin,kmax),(lmin,lmax))
+val dimension_interior_nodes = ((kmin,kmax),(lmin,lmax))
fun for_interior_nodes f =
for {from=kmin, step=1, to=kmax} (fn k =>
for {from=lmin, step=1, to=lmax} (fn l => f k l))
-val dimension_all_zones = ((kmin,kmax+1),(lmin,lmax+1))
+val dimension_all_zones = ((kmin,kmax+1),(lmin,lmax+1))
fun for_all_zones f =
for {from=kmin, step=1, to=kmax+1} (fn k =>
for {from=lmin, step=1, to=lmax+1} (fn l => f (k,l)))
-val dimension_interior_zones = ((kmin+1,kmax),(lmin+1,lmax))
+val dimension_interior_zones = ((kmin+1,kmax),(lmin+1,lmax))
fun for_interior_zones f =
for {from=kmin+1, step=1, to=kmax} (fn k =>
for {from=lmin+1, step=1, to=lmax} (fn l => f (k,l)))
@@ -369,8 +369,8 @@
let val (rax, zax) = (ra - rx, za - zx)
val (ryx, zyx) = (ry - rx, zy - zx)
val omega = 2.0*(rax*ryx + zax*zyx)/(ryx*ryx + zyx*zyx)
- val rb = rx - rax + omega*ryx
- val zb = zx - zax + omega*zyx
+ val rb = rx - rax + omega*ryx
+ val zb = zx - zax + omega*zyx
in (rb, zb)
end
@@ -437,7 +437,7 @@
*)
fun make_velocity((u,w),(r,z),p,q,alpha,rho,delta_t: real) =
let fun line_integral (p,z,node) : real =
- sub2(p,zone_A node)*(sub2(z,west node) - sub2(z,north node)) +
+ sub2(p,zone_A node)*(sub2(z,west node) - sub2(z,north node)) +
sub2(p,zone_B node)*(sub2(z,south node) - sub2(z,west node)) +
sub2(p,zone_C node)*(sub2(z,east node) - sub2(z,south node)) +
sub2(p,zone_D node)*(sub2(z,north node) - sub2(z,east node))
@@ -478,7 +478,7 @@
val s' = array2(dimension_all_zones, 0.0)
val rho' = array2(dimension_all_zones, 0.0)
fun interior_area zone =
- let val (area, vol) = zone_area_vol (x', zone)
+ let val (area, vol) = zone_area_vol (x', zone)
val density = sub2(rho,zone)*sub2(s,zone) / vol
in (area,vol,density)
end
@@ -505,7 +505,7 @@
* Artifical Viscosity (page 11)
*)
fun make_viscosity(p,(u',w'),(r',z'), alpha',rho') =
- let fun interior_viscosity zone =
+ let fun interior_viscosity zone =
let fun upper_del f =
0.5 * ((sub2(f,zone_corner_southeast zone) -
sub2(f,zone_corner_northeast zone)) +
@@ -516,7 +516,7 @@
sub2(f,zone_corner_southwest zone)) +
(sub2(f,zone_corner_northeast zone) -
sub2(f,zone_corner_northwest zone)))
- val xi = pow(upper_del r',2) + pow(upper_del z',2)
+ val xi = pow(upper_del r',2) + pow(upper_del z',2)
val eta = pow(lower_del r',2) + pow(lower_del z',2)
val upper_disc = (upper_del r')*(lower_del w') -
(upper_del z')*(lower_del u')
@@ -585,7 +585,7 @@
fun zonal_energy (rho_value, theta_value) =
let val (G, degree, rho_table, theta_table) =
- extract_energy_tables_from_constants
+ extract_energy_tables_from_constants
in polynomial(G, degree, rho_table, theta_table, rho_value, theta_value)
end
val dx = 0.000001
@@ -593,7 +593,7 @@
fun newton_raphson (f,x) =
- let fun iter (x,fx) =
+ let fun iter (x,fx) =
if fx > tiny then
let val fxdx = f(x+dx)
val denom = fxdx - fx
@@ -675,7 +675,7 @@
in if !trace
then print ("\t\tmake_sigma:deltat = " (* ^ makestring deltat *) ^ "\n")
else ();
-(*** for_interior_zones(fn zone => update2(M,zone, interior_sigma zone)) **)
+(*** for_interior_zones(fn zone => update2(M,zone, interior_sigma zone)) **)
for_interior_zones(fn zone => (update2(M,zone, interior_sigma zone)
handle _ => (*old: Overflow => *)
ohandle zone));
@@ -696,14 +696,14 @@
val M = array2(dimension_all_zones, 0.0)
in
for_interior_zones(fn zone => update2(M,zone,interior_gamma zone));
- M
+ M
end
fun make_ab(theta, sigma, Gamma, preceding) =
let val a = array2(dimension_all_zones, 0.0)
val b = array2(dimension_all_zones, 0.0)
fun interior_ab zone =
- let val denom = sub2(sigma, zone) + sub2(Gamma, zone) +
+ let val denom = sub2(sigma, zone) + sub2(Gamma, zone) +
sub2(Gamma, preceding zone) *
(1.0 - sub2(a, preceding zone))
val nume1 = sub2(Gamma,zone)
@@ -734,28 +734,28 @@
end
fun compute_heat_conduction(theta_hat, deltat, x', alpha', rho') =
- let val sigma = make_sigma(deltat, rho', alpha')
+ let val sigma = make_sigma(deltat, rho', alpha')
val _ = if !trace then print "\tdone make_sigma\n" else ()
- val cc = make_cc(alpha', theta_hat)
+ val cc = make_cc(alpha', theta_hat)
val _ = if !trace then print "\tdone make_cc\n" else ()
- val Gamma_k = make_gamma( x', cc, north, east)
+ val Gamma_k = make_gamma( x', cc, north, east)
val _ = if !trace then print "\tdone make_gamma\n" else ()
- val (a_k,b_k) = make_ab(theta_hat, sigma, Gamma_k, north)
+ val (a_k,b_k) = make_ab(theta_hat, sigma, Gamma_k, north)
val _ = if !trace then print "\tdone make_ab\n" else ()
- val theta_k = make_theta(a_k,b_k,south,for_north_ward_interior_zones)
+ val theta_k = make_theta(a_k,b_k,south,for_north_ward_interior_zones)
val _ = if !trace then print "\tdone make_theta\n" else ()
- val Gamma_l = make_gamma(x', cc, west, south)
+ val Gamma_l = make_gamma(x', cc, west, south)
val _ = if !trace then print "\tdone make_gamma\n" else ()
- val (a_l,b_l) = make_ab(theta_k, sigma, Gamma_l, west)
+ val (a_l,b_l) = make_ab(theta_k, sigma, Gamma_l, west)
val _ = if !trace then print "\tdone make_ab\n" else ()
- val theta_l = make_theta(a_l,b_l,east,for_west_ward_interior_zones)
+ val theta_l = make_theta(a_l,b_l,east,for_west_ward_interior_zones)
val _ = if !trace then print "\tdone make_theta\n" else ()
in (theta_l, Gamma_k, Gamma_l)
end
Modified: mlton/trunk/regression/kkb36c.sml
===================================================================
--- mlton/trunk/regression/kkb36c.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/kkb36c.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -38,32 +38,32 @@
struct
*)
fun length l = let
- fun j(k, nil) = k
- | j(k, a::x) = j(k+1,x)
- in
- j(0,l)
- end
+ fun j(k, nil) = k
+ | j(k, a::x) = j(k+1,x)
+ in
+ j(0,l)
+ end
fun op @ (nil, l) = l
| op @ (a::r, l) = a :: (r@l)
fun rev l = let
- fun f (nil, h) = h
- | f (a::r, h) = f(r, a::h)
- in
- f(l,nil)
- end
+ fun f (nil, h) = h
+ | f (a::r, h) = f(r, a::h)
+ in
+ f(l,nil)
+ end
fun app f = let
- fun app_rec [] = ()
+ fun app_rec [] = ()
| app_rec (a::L) = (f a; app_rec L)
in
- app_rec
+ app_rec
end
(*
fun map f = let
- fun map_rec [] = []
+ fun map_rec [] = []
| map_rec (a::L) = f a :: map_rec L
in
- map_rec
- end
+ map_rec
+ end
*)
(******* Quelques definitions du prelude CAML **************)
@@ -273,7 +273,7 @@
else
(v,M) :: subst
| match_rec subst (Term(op1,sons1), Term(op2,sons2)) =
- if eq_string(op1,op2) then it_list2 match_rec subst sons1 sons2
+ if eq_string(op1,op2) then it_list2 match_rec subst sons1 sons2
else raise FailMatching
| match_rec _ _ = raise FailMatching
in match_rec [] (term1,term2)
@@ -299,7 +299,7 @@
else [(n2,term1)]
| unify (Term(op1,sons1), Term(op2,sons2)) =
if eq_string(op1,op2) then
- it_list2 (fn s => fn (t1,t2) => compsubst (unify(substitute s t1,
+ it_list2 (fn s => fn (t1,t2) => compsubst (unify(substitute s t1,
substitute s t2)) s)
[] sons1 sons2
else raise FailUnify
@@ -321,7 +321,7 @@
else
(print_string oper;
case sons of
- [] => ()
+ [] => ()
| t::lt =>(print_string "(";
pretty_term t;
app (fn t => (print_string ","; pretty_term t)) lt;
Modified: mlton/trunk/regression/kkb_eq.sml
===================================================================
--- mlton/trunk/regression/kkb_eq.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/kkb_eq.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -60,7 +60,7 @@
| map_rec (a::L) = f a :: map_rec L
in
map_rec
- end
+ end
(******* Quelques definitions du prelude CAML **************)
Modified: mlton/trunk/regression/life.sml
===================================================================
--- mlton/trunk/regression/life.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/life.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -126,17 +126,17 @@
| ( xover, x3, x2, x1, (a::x)) =>
if member eq_int_pair_curry xover a then f( xover, x3, x2, x1, x) else
if member eq_int_pair_curry x3 a then f ((a::xover), x3, x2, x1, x) else
- if member eq_int_pair_curry x2 a then f (xover, (a::x3), x2, x1, x) else
+ if member eq_int_pair_curry x2 a then f (xover, (a::x3), x2, x1, x) else
if member eq_int_pair_curry x1 a then f (xover, x3, (a::x2), x1, x) else
- f (xover, x3, x2, (a::x1), x)
+ f (xover, x3, x2, (a::x1), x)
fun diff x y = filter (fn x => not(member eq_int_pair_curry y x)) x (* unfolded o *)
val (xover, x3, _, _, _) = f ([],[],[],[],x)
in diff x3 xover end
fun neighbours (i,j) = [(i-1,j-1),(i-1,j),(i-1,j+1),
- (i,j-1),(i,j+1),
- (i+1,j-1),(i+1,j),(i+1,j+1)]
+ (i,j-1),(i,j+1),
+ (i+1,j-1),(i+1,j),(i+1,j+1)]
infix footnote
fun x footnote y = x
Modified: mlton/trunk/regression/llv.sml
===================================================================
--- mlton/trunk/regression/llv.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/llv.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -29,11 +29,11 @@
and llvExp(e: mulexp) : mulexp_llv =
let
fun llv_switch(SWITCH(e,branches)) =
- (* Note: e is trivial *)
- let val branches' = map (fn (c,e) => (c,llv e)) branches
- in
+ (* Note: e is trivial *)
+ let val branches' = map (fn (c,e) => (c,llv e)) branches
+ in
SWITCH(llv e, branches')
- end
+ end
in
case e of
SWITCH_I(switch) =>
Modified: mlton/trunk/regression/mlton.word.sml
===================================================================
--- mlton/trunk/regression/mlton.word.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/mlton.word.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -63,7 +63,7 @@
* (fn (w, w') =>
* let
* val _ = print (concat ["0x", Word.toString w, " ", name, " ",
- * "0x", Word.toString w'])
+ * "0x", Word.toString w'])
* val res = f (w, w')
* val _ = print (concat [" = ", Word.toString res, "\n"])
* in
@@ -72,14 +72,14 @@
* all
*
* val _ = doit ("+", MLton.Word.addCheck,
- * [(0wx7FFFFFFF, 0wx1),
- * (0wxFFFFFFFE, 0wx1),
- * (0wxFFFFFFFD, 0wx2),
- * (0wxFFFFFFFF, 0wx1)])
+ * [(0wx7FFFFFFF, 0wx1),
+ * (0wxFFFFFFFE, 0wx1),
+ * (0wxFFFFFFFD, 0wx2),
+ * (0wxFFFFFFFF, 0wx1)])
*
* val _ = doit ("*", MLton.Word.mulCheck,
- * [(0wxFFFFFFFF, 0wx1),
- * (0wx7FFFFFFF, 0wx2),
- * (0wx80000000, 0wx2),
- * (0wxFFFFFFFF, 0wx2)])
+ * [(0wxFFFFFFFF, 0wx1),
+ * (0wx7FFFFFFF, 0wx2),
+ * (0wx80000000, 0wx2),
+ * (0wxFFFFFFFF, 0wx2)])
*)
Modified: mlton/trunk/regression/opaque.sml
===================================================================
--- mlton/trunk/regression/opaque.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/opaque.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -7,7 +7,7 @@
val a = 232
val pr = Int.toString
end :> sig type a
- val a : a
+ val a : a
val pr : a -> string
end
Modified: mlton/trunk/regression/prodcons.sml
===================================================================
--- mlton/trunk/regression/prodcons.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/prodcons.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -55,7 +55,7 @@
val unlock: t -> unit
end
structure Condition:
- sig
+ sig
type t
val new: unit -> t
Modified: mlton/trunk/regression/real.sml
===================================================================
--- mlton/trunk/regression/real.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/real.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -761,7 +761,7 @@
for (fn r =>
let
val {whole, frac} = split r
- val _ =
+ val _ =
if false
then
print (concat ["split ", exact r, " = {whole = ",
Modified: mlton/trunk/regression/ring.sml
===================================================================
--- mlton/trunk/regression/ring.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/ring.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -37,7 +37,7 @@
local
fun make sel (x,y) = extract sel (ringOf x) (x,y)
in
- val op * = make(# * )
+ val op * = make(# * )
val op + = make(# +)
end
Modified: mlton/trunk/regression/sharing.sml
===================================================================
--- mlton/trunk/regression/sharing.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/sharing.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -9,7 +9,7 @@
sharing type t = s
end;
-signature T = (* from SML/NJ doc *)
+signature T = (* from SML/NJ doc *)
sig
type s
structure A :
Modified: mlton/trunk/regression/size.sml
===================================================================
--- mlton/trunk/regression/size.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/size.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -19,7 +19,7 @@
; printSize ("a double array of length 10",
92, Array.tabulate (10, fn _ => 0.0))
; printSize ("an array of length 10 of 2-ples of ints",
- 92, Array.tabulate (10, fn i => (i, i + 1)))
+ 92, Array.tabulate (10, fn i => (i, i + 1)))
; printSize ("a useless function", 0, fn _ => 13)
)
Modified: mlton/trunk/regression/string.sml
===================================================================
--- mlton/trunk/regression/string.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/string.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -34,8 +34,8 @@
open Char String
val map = map'
- val s1 = "" (* size s1 = 0 *)
- and s2 = "ABCDE\tFGHI"; (* size s2 = 10 *)
+ val s1 = "" (* size s1 = 0 *)
+ and s2 = "ABCDE\tFGHI"; (* size s2 = 10 *)
val ABCDE = List.map chr [65,66,67,68,69];
in
@@ -196,7 +196,7 @@
val chars = implode l
in tst' "test18" (fn _ => fromString(toString chars) = SOME chars) end
-val test19 =
+val test19 =
let fun chkFromString (arg, res) = fromString arg = SOME (str res)
val argResList =
[("A", #"A"),
Modified: mlton/trunk/regression/substring.sml
===================================================================
--- mlton/trunk/regression/substring.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/substring.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -23,16 +23,16 @@
val all = full
fun base2 (a, b) = (base a, base b)
- val s1 = "" (* String.size s1 = 0 *)
- and s2 = "ABCDE\tFGHI"; (* String.size s2 = 10 *)
- val ss1 = all s1 (* size s1 = 0 *)
- and ss2 = all s2; (* size s2 = 10 *)
+ val s1 = "" (* String.size s1 = 0 *)
+ and s2 = "ABCDE\tFGHI"; (* String.size s2 = 10 *)
+ val ss1 = all s1 (* size s1 = 0 *)
+ and ss2 = all s2; (* size s2 = 10 *)
- val sa = "AAAAaAbAABBBB"; (* String.size sa = 14 *)
+ val sa = "AAAAaAbAABBBB"; (* String.size sa = 14 *)
(* 45678 *)
- val ssa1 = extract(sa, 4, SOME 0) (* size ssa1 = 0 *)
- val ssa2 = extract(sa, 4, SOME 5) (* size ssa2 = 5 *)
+ val ssa1 = extract(sa, 4, SOME 0) (* size ssa1 = 0 *)
+ val ssa2 = extract(sa, 4, SOME 5) (* size ssa2 = 5 *)
val ss3 = extract("junk this is a (clear)textjunk", 4, SOME 24);
(* 456789012345678901234567 *)
Modified: mlton/trunk/regression/suspend.sml
===================================================================
--- mlton/trunk/regression/suspend.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/suspend.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -4,8 +4,8 @@
case fork () of
NONE =>
(setHandler (int, Handler.simple (fn () => print "child got an int\n"))
- ; print "child suspending\n"
- ; suspend Mask.none
+ ; print "child suspending\n"
+ ; suspend Mask.none
; print "done\n")
| SOME pid =>
(sleep (Time.fromSeconds 1)
Modified: mlton/trunk/regression/unixpath.sml
===================================================================
--- mlton/trunk/regression/unixpath.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/unixpath.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -160,15 +160,15 @@
val test8a =
tst' "test8a" (fn _ =>
mkRelative("a/b", "/c/d") = "a/b"
- andalso mkRelative("/", "/a/b/c") = "../../.."
- andalso mkRelative("/a/", "/a/b/c") = "../../"
- andalso mkRelative("/a/b/", "/a/c") = "../b/"
- andalso mkRelative("/a/b", "/a/c/") = "../b"
- andalso mkRelative("/a/b/", "/a/c/") = "../b/"
- andalso mkRelative("/", "/") = "."
+ andalso mkRelative("/", "/a/b/c") = "../../.."
+ andalso mkRelative("/a/", "/a/b/c") = "../../"
+ andalso mkRelative("/a/b/", "/a/c") = "../b/"
+ andalso mkRelative("/a/b", "/a/c/") = "../b"
+ andalso mkRelative("/a/b/", "/a/c/") = "../b/"
+ andalso mkRelative("/", "/") = "."
andalso mkRelative("/", "/.") = "."
- andalso mkRelative("/", "/..") = "."
- andalso mkRelative("/", "/a") = ".."
+ andalso mkRelative("/", "/..") = "."
+ andalso mkRelative("/", "/a") = ".."
andalso mkRelative("/a/b/../c", "/a/d") = "../b/../c"
andalso mkRelative("/a/b", "/c/d") = "../../a/b"
andalso mkRelative("/c/a/b", "/c/d") = "../a/b"
Modified: mlton/trunk/regression/where.sml
===================================================================
--- mlton/trunk/regression/where.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/where.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -9,7 +9,7 @@
end where type s = int;
(* Due to Martin Elsman, also see SML/NJ bug 1330. *)
-signature T =
+signature T =
sig
type s
structure U :
Modified: mlton/trunk/regression/word.sml
===================================================================
--- mlton/trunk/regression/word.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/regression/word.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -223,7 +223,7 @@
val test13b =
List.map (fn s => case fromString s of NONE => "OK" | _ => "WRONG")
["", "-", "~", "+", " \n\t", " \n\t-", " \n\t~", " \n\t+",
- "+1", "~1", "-1", "GG"];
+ "+1", "~1", "-1", "GG"];
val _ = pr_ln "test13b" (concat test13b)
val test14a =
@@ -247,7 +247,7 @@
List.map (fn s => case StringCvt.scanString (scan StringCvt.DEC) s
of NONE => "OK" | _ => "WRONG")
["", "-", "~", "+", " \n\t", " \n\t-", " \n\t~", " \n\t+",
- "+1", "~1", "-1", "ff"];
+ "+1", "~1", "-1", "ff"];
val _ = pr_ln "test14b" (concat test14b)
val test15a =
List.map (chkScan StringCvt.BIN)
Modified: mlton/trunk/runtime/Posix/FileSys/Dirstream.c
===================================================================
--- mlton/trunk/runtime/Posix/FileSys/Dirstream.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/Posix/FileSys/Dirstream.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -39,5 +39,5 @@
void Posix_FileSys_Dirstream_rewinddir (Cpointer p) {
if (DEBUG_DIRSTREAM)
fprintf (stderr, "rewinddir (0x%08x)\n", (uint)p);
- rewinddir ((DIR *) p);
+ rewinddir ((DIR *) p);
}
Modified: mlton/trunk/runtime/Posix/FileSys/Stat.c
===================================================================
--- mlton/trunk/runtime/Posix/FileSys/Stat.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/Posix/FileSys/Stat.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -54,6 +54,6 @@
return lstat ((char*)f, &statbuf);
}
-Int Posix_FileSys_Stat_stat (NullString f) {
+Int Posix_FileSys_Stat_stat (NullString f) {
return stat ((char*)f, &statbuf);
}
Modified: mlton/trunk/runtime/Posix/ProcEnv/getgroups.c
===================================================================
--- mlton/trunk/runtime/Posix/ProcEnv/getgroups.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/Posix/ProcEnv/getgroups.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -8,7 +8,7 @@
Int Posix_ProcEnv_getgroups (Pointer groups) {
int i;
- int result;
+ int result;
gid_t groupList[Posix_ProcEnv_numgroups];
result = getgroups (Posix_ProcEnv_numgroups, groupList);
Modified: mlton/trunk/runtime/Posix/Process/exece.c
===================================================================
--- mlton/trunk/runtime/Posix/Process/exece.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/Posix/Process/exece.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1,14 +1,14 @@
#include "platform.h"
Int Posix_Process_exece (NullString p, Pointer a, Pointer e) {
- char *path;
- char *asaved;
- char *esaved;
- char **args;
- char **env;
+ char *path;
+ char *asaved;
+ char *esaved;
+ char **args;
+ char **env;
int an;
- int en;
- int result;
+ int en;
+ int result;
path = (char *) p;
args = (char **) a;
Modified: mlton/trunk/runtime/Posix/Process/execp.c
===================================================================
--- mlton/trunk/runtime/Posix/Process/execp.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/Posix/Process/execp.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1,11 +1,11 @@
#include "platform.h"
Int Posix_Process_execp (NullString f, Pointer a) {
- char *file;
- char *saved;
- char **args;
+ char *file;
+ char *saved;
+ char **args;
int n;
- int result;
+ int result;
file = (char *) f;
args = (char **) a;
Modified: mlton/trunk/runtime/Posix/Signal.c
===================================================================
--- mlton/trunk/runtime/Posix/Signal.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/Posix/Signal.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -20,7 +20,7 @@
sigdelset (&gcState.signalsHandled, signum);
memset (&sa, 0, sizeof(sa));
sa.sa_handler = SIG_DFL;
- sa.sa_flags = SA_FLAGS;
+ sa.sa_flags = SA_FLAGS;
return sigaction (signum, &sa, NULL);
}
@@ -31,7 +31,7 @@
if (DEBUG_SIGNALS)
fprintf (stderr, "%s = Posix_Signal_isGCPending ()\n",
boolToString (res));
- return res;
+ return res;
}
Bool Posix_Signal_isPending (Int signum) {
@@ -48,7 +48,7 @@
*/
sigfillset (&sa.sa_mask);
sa.sa_handler = handler;
- sa.sa_flags = SA_FLAGS;
+ sa.sa_flags = SA_FLAGS;
return sigaction (signum, &sa, NULL);
}
@@ -62,7 +62,7 @@
sigdelset (&gcState.signalsHandled, signum);
memset (&sa, 0, sizeof(sa));
sa.sa_handler = SIG_IGN;
- sa.sa_flags = SA_FLAGS;
+ sa.sa_flags = SA_FLAGS;
return sigaction (signum, &sa, NULL);
}
@@ -70,7 +70,7 @@
Int res;
struct sigaction sa;
- sa.sa_flags = SA_FLAGS;
+ sa.sa_flags = SA_FLAGS;
res = sigaction (signum, NULL, &sa);
*isDef = sa.sa_handler == SIG_DFL;
return res;
Modified: mlton/trunk/runtime/Posix/SysDB/Group.c
===================================================================
--- mlton/trunk/runtime/Posix/SysDB/Group.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/Posix/SysDB/Group.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -15,9 +15,9 @@
}
Bool Posix_SysDB_getgrgid(Gid g) {
- return NULL != (group = getgrgid ((gid_t)g));
+ return NULL != (group = getgrgid ((gid_t)g));
}
Bool Posix_SysDB_getgrnam(NullString s) {
- return NULL != (group = getgrnam ((char*)s));
+ return NULL != (group = getgrnam ((char*)s));
}
Modified: mlton/trunk/runtime/assert.h
===================================================================
--- mlton/trunk/runtime/assert.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/assert.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -14,7 +14,7 @@
/* Assertion verifier */
#if ASSERT
-#define assert(p) ((p) ? (void)0 : asfail(__FILE__, __LINE__, #p))
+#define assert(p) ((p) ? (void)0 : asfail(__FILE__, __LINE__, #p))
#else
-#define assert(p) ((void)0)
+#define assert(p) ((void)0)
#endif
Modified: mlton/trunk/runtime/basis/Int/Word.c
===================================================================
--- mlton/trunk/runtime/basis/Int/Word.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/Int/Word.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -32,17 +32,17 @@
#error check that C {/,%} correctly implement {quot,rem} from the basis library
#endif
-#define coerce(f, t) \
- t f##_to##t (f x) { \
- return (t)x; \
+#define coerce(f, t) \
+ t f##_to##t (f x) { \
+ return (t)x; \
}
-#define bothCoerce(from, to) \
+#define bothCoerce(from, to) \
coerce (Word##S##from, Word##to) \
coerce (Word##U##from, Word##to)
#define WordS8_max (WordS8)0x7F
-#define WordS8_min (WordS8)0x80
+#define WordS8_min (WordS8)0x80
#define WordS16_max (WordS16)0x7FFF
#define WordS16_min (WordS16)0x8000
#define WordS32_max (WordS32)0x7FFFFFFF
@@ -54,128 +54,128 @@
#define WordU32_max (WordU32)0xFFFFFFFF
#define WordU64_max (WordU64)0xFFFFFFFFFFFFFFFFull
-#define binary(kind, name, op) \
- Word##kind Word##kind##_##name (Word##kind w1, Word##kind w2) { \
+#define binary(kind, name, op) \
+ Word##kind Word##kind##_##name (Word##kind w1, Word##kind w2) { \
return w1 op w2; \
}
-#define bothBinary(size, name, op) \
- binary (S##size, name, op) \
+#define bothBinary(size, name, op) \
+ binary (S##size, name, op) \
binary (U##size, name, op)
#define SaddCheckOverflows(size) \
- Bool WordS##size##_addCheckOverflows (WordS##size x, WordS##size y) { \
- if (x >= 0) { \
- if (y > WordS##size##_max - x) \
- return TRUE; \
- } else if (y < WordS##size##_min - x) \
- return TRUE; \
- return FALSE; \
+ Bool WordS##size##_addCheckOverflows (WordS##size x, WordS##size y) { \
+ if (x >= 0) { \
+ if (y > WordS##size##_max - x) \
+ return TRUE; \
+ } else if (y < WordS##size##_min - x) \
+ return TRUE; \
+ return FALSE; \
}
#define UaddCheckOverflows(size) \
- Bool WordU##size##_addCheckOverflows (WordU##size x, WordU##size y) { \
- if (y > WordU##size##_max - x) \
- return TRUE; \
- return FALSE; \
+ Bool WordU##size##_addCheckOverflows (WordU##size x, WordU##size y) { \
+ if (y > WordU##size##_max - x) \
+ return TRUE; \
+ return FALSE; \
}
#define SmulCheckOverflows(size) \
- Bool WordS##size##_mulCheckOverflows (WordS##size x, WordS##size y) { \
- if ((x == (WordS##size)0) or (y == (WordS##size)0)) \
- return FALSE; \
- if (x > (WordS##size)0) { \
- if (y > (WordS##size)0) { \
- if (x > WordS##size##_quot (WordS##size##_max, y)) \
- return TRUE; \
- return FALSE; \
- } else /* (y < (WordS##size)0) */ { \
- if (y < WordS##size##_quot (WordS##size##_min, x)) \
- return TRUE; \
- return FALSE; \
- } \
- } else /* (x < (WordS##size)0) */ { \
- if (y > (WordS##size)0) { \
- if (x < WordS##size##_quot (WordS##size##_min, y)) \
- return TRUE; \
- return FALSE; \
- } else /* (y < (WordS##size)0) */ { \
- if (y < WordS##size##_quot (WordS##size##_max, x)) \
- return TRUE; \
- return FALSE; \
- } \
- } \
+ Bool WordS##size##_mulCheckOverflows (WordS##size x, WordS##size y) { \
+ if ((x == (WordS##size)0) or (y == (WordS##size)0)) \
+ return FALSE; \
+ if (x > (WordS##size)0) { \
+ if (y > (WordS##size)0) { \
+ if (x > WordS##size##_quot (WordS##size##_max, y)) \
+ return TRUE; \
+ return FALSE; \
+ } else /* (y < (WordS##size)0) */ { \
+ if (y < WordS##size##_quot (WordS##size##_min, x)) \
+ return TRUE; \
+ return FALSE; \
+ } \
+ } else /* (x < (WordS##size)0) */ { \
+ if (y > (WordS##size)0) { \
+ if (x < WordS##size##_quot (WordS##size##_min, y)) \
+ return TRUE; \
+ return FALSE; \
+ } else /* (y < (WordS##size)0) */ { \
+ if (y < WordS##size##_quot (WordS##size##_max, x)) \
+ return TRUE; \
+ return FALSE; \
+ } \
+ } \
}
-#define negCheckOverflows(size) \
- Bool Word##size##_negCheckOverflows (WordS##size x) { \
- if (x == WordS##size##_min) \
- return TRUE; \
- return FALSE; \
+#define negCheckOverflows(size) \
+ Bool Word##size##_negCheckOverflows (WordS##size x) { \
+ if (x == WordS##size##_min) \
+ return TRUE; \
+ return FALSE; \
}
#define SsubCheckOverflows(size) \
- Bool WordS##size##_subCheckOverflows (WordS##size x, WordS##size y) { \
- if (x >= 0) { \
- if (y < x - WordS##size##_max) \
- return TRUE; \
- } else if (y > x - WordS##size##_min) \
- return TRUE; \
- return FALSE; \
+ Bool WordS##size##_subCheckOverflows (WordS##size x, WordS##size y) { \
+ if (x >= 0) { \
+ if (y < x - WordS##size##_max) \
+ return TRUE; \
+ } else if (y > x - WordS##size##_min) \
+ return TRUE; \
+ return FALSE; \
}
-#define compare(kind, name, op) \
- Bool Word##kind##_##name (Word##kind w1, Word##kind w2) { \
+#define compare(kind, name, op) \
+ Bool Word##kind##_##name (Word##kind w1, Word##kind w2) { \
return w1 op w2; \
}
-#define bothCompare(size, name, op) \
- compare (S##size, name, op) \
+#define bothCompare(size, name, op) \
+ compare (S##size, name, op) \
compare (U##size, name, op)
-#define unary(kind,name, op) \
- Word##kind Word##kind##_##name (Word##kind w) { \
- return op w; \
+#define unary(kind,name, op) \
+ Word##kind Word##kind##_##name (Word##kind w) { \
+ return op w; \
}
-#define shift(kind, name, op) \
- Word##kind Word##kind##_##name (Word##kind w1, Word w2) { \
+#define shift(kind, name, op) \
+ Word##kind Word##kind##_##name (Word##kind w1, Word w2) { \
return w1 op w2; \
}
-#define all(size) \
- binary (size, add, +) \
- SaddCheckOverflows (size) \
- UaddCheckOverflows (size) \
- binary (size, andb, &) \
- compare (size, equal, ==) \
- bothCompare (size, ge, >=) \
- bothCompare (size, gt, >) \
- bothCompare (size, le, <=) \
+#define all(size) \
+ binary (size, add, +) \
+ SaddCheckOverflows (size) \
+ UaddCheckOverflows (size) \
+ binary (size, andb, &) \
+ compare (size, equal, ==) \
+ bothCompare (size, ge, >=) \
+ bothCompare (size, gt, >) \
+ bothCompare (size, le, <=) \
shift (size, lshift, <<) \
- bothCompare (size, lt, <) \
- bothBinary (size, mul, *) \
- unary (size, neg, -) \
+ bothCompare (size, lt, <) \
+ bothBinary (size, mul, *) \
+ unary (size, neg, -) \
negCheckOverflows (size) \
- unary (size, notb, ~) \
- binary (size, orb, |) \
- bothBinary (size, quot, /) \
- SmulCheckOverflows (size) \
- bothBinary (size, rem, %) \
- Word##size Word##size##_rol (Word##size w1, Word w2) { \
+ unary (size, notb, ~) \
+ binary (size, orb, |) \
+ bothBinary (size, quot, /) \
+ SmulCheckOverflows (size) \
+ bothBinary (size, rem, %) \
+ Word##size Word##size##_rol (Word##size w1, Word w2) { \
return (w1 >> (size - w2)) | (w1 << w2); \
- } \
- Word##size Word##size##_ror (Word##size w1, Word w2) { \
+ } \
+ Word##size Word##size##_ror (Word##size w1, Word w2) { \
return (w1 >> w2) | (w1 << (size - w2)); \
- } \
- shift (S##size, rshift, >>) \
- shift (U##size, rshift, >>) \
- binary (size, sub, -) \
- SsubCheckOverflows (size) \
- binary (size, xorb, ^) \
- bothCoerce (size, 64) \
- bothCoerce (size, 32) \
- bothCoerce (size, 16) \
+ } \
+ shift (S##size, rshift, >>) \
+ shift (U##size, rshift, >>) \
+ binary (size, sub, -) \
+ SsubCheckOverflows (size) \
+ binary (size, xorb, ^) \
+ bothCoerce (size, 64) \
+ bothCoerce (size, 32) \
+ bothCoerce (size, 16) \
bothCoerce (size, 8)
all (8)
Modified: mlton/trunk/runtime/basis/Int/Word8Array.c
===================================================================
--- mlton/trunk/runtime/basis/Int/Word8Array.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/Int/Word8Array.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -10,7 +10,7 @@
s = v + (offset * 4);
for (i = 0; i < 4; ++i)
p[i] = s[3 - i];
- return w;
+ return w;
}
void Word8Array_updateWord32Rev (Pointer a, Int offset, Word32 w) {
Modified: mlton/trunk/runtime/basis/Int/Word8Vector.c
===================================================================
--- mlton/trunk/runtime/basis/Int/Word8Vector.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/Int/Word8Vector.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -10,5 +10,5 @@
s = v + (offset * 4);
for (i = 0; i < 4; ++i)
p[i] = s[3 - i];
- return w;
+ return w;
}
Modified: mlton/trunk/runtime/basis/IntInf.c
===================================================================
--- mlton/trunk/runtime/basis/IntInf.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/IntInf.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -19,12 +19,12 @@
* Layout of strings. Note, the value passed around is a pointer to
* the chars member.
*/
-typedef struct strng {
- uint counter, /* used by GC. */
- card, /* number of chars */
- magic; /* STRMAGIC */
- char chars[0]; /* actual chars */
-} strng;
+typedef struct strng {
+ uint counter, /* used by GC. */
+ card, /* number of chars */
+ magic; /* STRMAGIC */
+ char chars[0]; /* actual chars */
+} strng;
/*
* Test if a intInf is a fixnum.
@@ -45,7 +45,7 @@
* Convert a bignum intInf to a bignum pointer.
*/
static inline bignum * toBignum (pointer arg) {
- bignum *bp;
+ bignum *bp;
assert(not isSmall(arg));
bp = (bignum *)((uint)arg - offsetof(struct bignum, isneg));
@@ -60,7 +60,7 @@
* to contain 2 limbs, fill in the __mpz_struct.
*/
static inline void fill (pointer arg, __mpz_struct *res, mp_limb_t space[2]) {
- bignum *bp;
+ bignum *bp;
if (DEBUG_INT_INF)
fprintf (stderr, "fill (0x%08x, 0x%08x, 0x%08x)\n",
@@ -106,7 +106,7 @@
* This MUST be replaced with assembler.
*/
static inline uint leadingZeros (mp_limb_t word) {
- uint res;
+ uint res;
assert(word != 0);
res = 0;
@@ -134,8 +134,8 @@
* the array size and roll the frontier slightly back.
*/
static pointer answer (__mpz_struct *ans, uint bytes) {
- bignum *bp;
- int size;
+ bignum *bp;
+ int size;
bp = (bignum *)((pointer)ans->_mp_d - offsetof(struct bignum, limbs));
assert(ans->_mp_d == bp->limbs);
@@ -146,7 +146,7 @@
} else
bp->isneg = FALSE;
if (size <= 1) {
- uint val,
+ uint val,
ans;
if (size == 0)
@@ -179,10 +179,10 @@
void(*binop)(__mpz_struct *resmpz,
__gmp_const __mpz_struct *lhsspace,
__gmp_const __mpz_struct *rhsspace)) {
- __mpz_struct lhsmpz,
+ __mpz_struct lhsmpz,
rhsmpz,
resmpz;
- mp_limb_t lhsspace[2],
+ mp_limb_t lhsspace[2],
rhsspace[2];
initRes (&resmpz, bytes);
@@ -246,9 +246,9 @@
void(*unop)(__mpz_struct *resmpz,
__gmp_const __mpz_struct *argspace))
{
- __mpz_struct argmpz,
+ __mpz_struct argmpz,
resmpz;
- mp_limb_t argspace[2];
+ mp_limb_t argspace[2];
initRes(&resmpz, bytes);
fill(arg, &argmpz, argspace);
@@ -276,9 +276,9 @@
__gmp_const __mpz_struct *argspace,
ulong shift))
{
- __mpz_struct argmpz,
+ __mpz_struct argmpz,
resmpz;
- mp_limb_t argspace[2];
+ mp_limb_t argspace[2];
initRes(&resmpz, bytes);
fill(arg, &argmpz, argspace);
@@ -303,7 +303,7 @@
Word
IntInf_smallMul(Word lhs, Word rhs, pointer carry)
{
- llong prod;
+ llong prod;
prod = (llong)(int)lhs * (int)rhs;
*(uint *)carry = (ullong)prod >> 32;
@@ -315,9 +315,9 @@
* to each other.
*/
Int IntInf_compare (pointer lhs, pointer rhs) {
- __mpz_struct lhsmpz,
+ __mpz_struct lhsmpz,
rhsmpz;
- mp_limb_t lhsspace[2],
+ mp_limb_t lhsspace[2],
rhsspace[2];
if (DEBUG_INT_INF)
@@ -346,13 +346,13 @@
* string (mutable) which is large enough.
*/
pointer IntInf_toString (pointer arg, int base, uint bytes) {
- strng *sp;
- __mpz_struct argmpz;
- mp_limb_t argspace[2];
- char *str;
- uint size;
- int i;
- char c;
+ strng *sp;
+ __mpz_struct argmpz;
+ mp_limb_t argspace[2];
+ char *str;
+ uint size;
+ int i;
+ char c;
if (DEBUG_INT_INF)
fprintf (stderr, "IntInf_toString (0x%08x, %d, %u)\n",
@@ -381,30 +381,30 @@
/*
* Quotient (round towards 0, remainder is returned by IntInf_rem).
* space is a word array with enough space for the quotient
- * num limbs + 1 - den limbs
+ * num limbs + 1 - den limbs
* shifted numerator
- * num limbs + 1
+ * num limbs + 1
* and shifted denominator
- * den limbs
+ * den limbs
* and the isNeg word.
* It must be the last thing allocated.
* num is the numerator bignum, den is the denominator and frontier is
* the current frontier.
*/
pointer IntInf_quot (pointer num, pointer den, uint bytes) {
- __mpz_struct resmpz,
+ __mpz_struct resmpz,
nmpz,
dmpz;
- mp_limb_t nss[2],
+ mp_limb_t nss[2],
dss[2],
carry,
*np,
*dp;
- int nsize,
+ int nsize,
dsize,
qsize;
- bool resIsNeg;
- uint shift;
+ bool resIsNeg;
+ uint shift;
initRes(&resmpz, bytes);
fill(num, &nmpz, nss);
@@ -467,28 +467,28 @@
/*
* Remainder (sign taken from numerator, quotient is returned by IntInf_quot).
* space is a word array with enough space for the remainder
- * den limbs
+ * den limbs
* shifted numerator
- * num limbs + 1
+ * num limbs + 1
* and shifted denominator
- * den limbs
+ * den limbs
* and the isNeg word.
* It must be the last thing allocated.
* num is the numerator bignum, den is the denominator and frontier is
* the current frontier.
*/
pointer IntInf_rem (pointer num, pointer den, uint bytes) {
- __mpz_struct resmpz,
+ __mpz_struct resmpz,
nmpz,
dmpz;
- mp_limb_t nss[2],
+ mp_limb_t nss[2],
dss[2],
carry,
*dp;
- int nsize,
+ int nsize,
dsize;
- bool resIsNeg;
- uint shift;
+ bool resIsNeg;
+ uint shift;
initRes(&resmpz, bytes);
fill(num, &nmpz, nss);
Modified: mlton/trunk/runtime/basis/Itimer/set.c
===================================================================
--- mlton/trunk/runtime/basis/Itimer/set.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/Itimer/set.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -10,6 +10,6 @@
v.it_interval.tv_usec = interval_tv_usec;
v.it_value.tv_sec = value_tv_sec;
v.it_value.tv_usec = value_tv_usec;
- i = setitimer (which, &v, (struct itimerval *)NULL);
+ i = setitimer (which, &v, (struct itimerval *)NULL);
assert(i == 0);
}
Modified: mlton/trunk/runtime/basis/MLton/allocTooLarge.c
===================================================================
--- mlton/trunk/runtime/basis/MLton/allocTooLarge.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/MLton/allocTooLarge.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -2,5 +2,5 @@
void MLton_allocTooLarge () {
fprintf (stderr, "Out of memory: attempt to allocate more than %d bytes.\n", 0x7FFFFFFF);
- exit (2);
+ exit (2);
}
Modified: mlton/trunk/runtime/basis/MLton/bug.c
===================================================================
--- mlton/trunk/runtime/basis/MLton/bug.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/MLton/bug.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -4,5 +4,5 @@
fprintf (stderr, "MLton bug: %s.\n%s\n",
(char*)msg,
"Please send a bug report to MLton@mlton.org.");
- exit (2);
+ exit (2);
}
Modified: mlton/trunk/runtime/basis/MLton/profile.c
===================================================================
--- mlton/trunk/runtime/basis/MLton/profile.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/MLton/profile.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1,7 +1,7 @@
#include "platform.h"
#ifndef DEBUG_PROFILE
-#define DEBUG_PROFILE FALSE
+#define DEBUG_PROFILE FALSE
#endif
extern struct GC_state gcState;
Modified: mlton/trunk/runtime/basis/MLton/spawne.c
===================================================================
--- mlton/trunk/runtime/basis/MLton/spawne.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/MLton/spawne.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -2,14 +2,14 @@
#if HAS_SPAWN
Int MLton_Process_spawne (NullString p, Pointer a, Pointer e) {
- char *path;
- char *asaved;
- char *esaved;
- char **args;
- char **env;
- int an;
- int en;
- int result;
+ char *path;
+ char *asaved;
+ char *esaved;
+ char **args;
+ char **env;
+ int an;
+ int en;
+ int result;
path = (char *) p;
args = (char **) a;
Modified: mlton/trunk/runtime/basis/MLton/spawnp.c
===================================================================
--- mlton/trunk/runtime/basis/MLton/spawnp.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/MLton/spawnp.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -2,11 +2,11 @@
#if HAS_SPAWN
Int MLton_Process_spawnp (NullString p, Pointer a) {
- char *path;
- char *asaved;
- char **args;
- int an;
- int result;
+ char *path;
+ char *asaved;
+ char **args;
+ int an;
+ int result;
path = (char *) p;
args = (char **) a;
Modified: mlton/trunk/runtime/basis/PackReal.c
===================================================================
--- mlton/trunk/runtime/basis/PackReal.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/PackReal.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -8,7 +8,7 @@
for (i = 0; i < 4; ++i)
p[i] = s[i];
- return r;
+ return r;
}
Real32 PackReal32_subVecRev (Pointer v, Int offset) {
@@ -19,7 +19,7 @@
for (i = 0; i < 4; ++i)
p[i] = s[3 - i];
- return r;
+ return r;
}
Real64 PackReal64_subVec (Pointer v, Int offset) {
@@ -30,7 +30,7 @@
for (i = 0; i < 8; ++i)
p[i] = s[i];
- return r;
+ return r;
}
Real64 PackReal64_subVecRev (Pointer v, Int offset) {
@@ -41,7 +41,7 @@
for (i = 0; i < 8; ++i)
p[i] = s[7 - i];
- return r;
+ return r;
}
void PackReal32_update (Pointer a, Int offset, Real32 r) {
Modified: mlton/trunk/runtime/basis/Real/Math.c
===================================================================
--- mlton/trunk/runtime/basis/Real/Math.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/Real/Math.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -1,11 +1,11 @@
#include "platform.h"
-#define unaryReal(f, g) \
- Real64 g (Real64 x); \
- Real64 Real64_##f (Real64 x) { \
- return g (x); \
- } \
- Real32 Real32_##f (Real32 x) { \
+#define unaryReal(f, g) \
+ Real64 g (Real64 x); \
+ Real64 Real64_##f (Real64 x) { \
+ return g (x); \
+ } \
+ Real32 Real32_##f (Real32 x) { \
return (Real32)(Real64_##f ((Real64)x)); \
}
unaryReal(abs, fabs)
@@ -13,23 +13,23 @@
#undef unaryReal
#define binaryReal(f, g) \
- Real64 g (Real64 x, Real64 y); \
- Real64 Real64_Math_##f (Real64 x, Real64 y) { \
+ Real64 g (Real64 x, Real64 y); \
+ Real64 Real64_Math_##f (Real64 x, Real64 y) { \
return g (x, y); \
- } \
- Real32 Real32_Math_##f (Real32 x, Real32 y) { \
+ } \
+ Real32 Real32_Math_##f (Real32 x, Real32 y) { \
return (Real32)(Real64_Math_##f ((Real64)x, (Real64)y)); \
}
binaryReal(atan2, atan2)
#undef binaryReal
-#define unaryReal(f, g) \
- Real64 g (Real64 x); \
- Real64 Real64_Math_##f (Real64 x) { \
- return g (x); \
- } \
- Real32 Real32_Math_##f (Real32 x) { \
- return (Real32)(Real64_Math_##f ((Real64)x)); \
+#define unaryReal(f, g) \
+ Real64 g (Real64 x); \
+ Real64 Real64_Math_##f (Real64 x) { \
+ return g (x); \
+ } \
+ Real32 Real32_Math_##f (Real32 x) { \
+ return (Real32)(Real64_Math_##f ((Real64)x)); \
}
unaryReal(acos, acos)
unaryReal(asin, asin)
Modified: mlton/trunk/runtime/basis/Real/class.c
===================================================================
--- mlton/trunk/runtime/basis/Real/class.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/Real/class.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -31,7 +31,7 @@
else
res = FP_INFINITE;
} else if (word0 & EXPONENT_MASK32)
- res = FP_NORMAL;
+ res = FP_NORMAL;
else if (word0 & MANTISSA_MASK32)
res = FP_SUBNORMAL;
else
@@ -98,7 +98,7 @@
word1 = ((Word *)&d)[1];
if ((word1 & EXPONENT_MASK64) == EXPONENT_MASK64) {
if (word0 or (word1 & MANTISSA_MASK64))
- res = FP_NAN;
+ res = FP_NAN;
else
res = FP_INFINITE;
} else if (word1 & EXPONENT_MASK64)
Modified: mlton/trunk/runtime/basis/Real/real.c
===================================================================
--- mlton/trunk/runtime/basis/Real/real.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/basis/Real/real.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -14,10 +14,10 @@
Real64 Real64_minNormalPos = 2.2250738585072014e-308;
Real64 Real64_minPos = 4.9406564584124654e-324;
-#define ternary(size, name, op) \
- Real##size Real##size##_mul##name \
- (Real##size r1, Real##size r2, Real##size r3) { \
- return r1 * r2 op r3; \
+#define ternary(size, name, op) \
+ Real##size Real##size##_mul##name \
+ (Real##size r1, Real##size r2, Real##size r3) { \
+ return r1 * r2 op r3; \
}
ternary(32, add, +)
ternary(64, add, +)
Modified: mlton/trunk/runtime/gc.c
===================================================================
--- mlton/trunk/runtime/gc.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/gc.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -23,7 +23,7 @@
#endif
#ifndef DEBUG_PROFILE
-#define DEBUG_PROFILE FALSE
+#define DEBUG_PROFILE FALSE
#endif
enum {
@@ -64,23 +64,23 @@
#define WEAK_GONE_HEADER GC_objectHeader (WEAK_GONE_TYPE_INDEX)
#define WORD8_VECTOR_HEADER GC_objectHeader (WORD8_TYPE_INDEX)
-#define SPLIT_HEADER() \
- do { \
- int objectTypeIndex; \
- GC_ObjectType *t; \
+#define SPLIT_HEADER() \
+ do { \
+ int objectTypeIndex; \
+ GC_ObjectType *t; \
\
- assert (1 == (header & 1)); \
- objectTypeIndex = (header & TYPE_INDEX_MASK) >> 1; \
- assert (0 <= objectTypeIndex \
- and objectTypeIndex < s->objectTypesSize); \
- t = &s->objectTypes [objectTypeIndex]; \
- tag = t->tag; \
- hasIdentity = t->hasIdentity; \
- numNonPointers = t->numNonPointers; \
- numPointers = t->numPointers; \
- if (DEBUG_DETAILED) \
+ assert (1 == (header & 1)); \
+ objectTypeIndex = (header & TYPE_INDEX_MASK) >> 1; \
+ assert (0 <= objectTypeIndex \
+ and objectTypeIndex < s->objectTypesSize); \
+ t = &s->objectTypes [objectTypeIndex]; \
+ tag = t->tag; \
+ hasIdentity = t->hasIdentity; \
+ numNonPointers = t->numNonPointers; \
+ numPointers = t->numPointers; \
+ if (DEBUG_DETAILED) \
fprintf (stderr, "SPLIT_HEADER (0x%08x) numNonPointers = %u numPointers = %u\n", \
- (uint)header, numNonPointers, numPointers); \
+ (uint)header, numNonPointers, numPointers); \
} while (0)
static char* tagToString (GC_ObjectTypeTag t) {
@@ -123,7 +123,7 @@
assert (b >= 1);
a += b - 1;
a -= a % b;
- return a;
+ return a;
}
static inline W64 w64align (W64 a, uint b) {
@@ -223,7 +223,7 @@
}
static inline void copy (pointer src, pointer dst, uint size) {
- uint *to,
+ uint *to,
*from,
*limit;
@@ -254,8 +254,8 @@
static void rusagePlusMax (struct rusage *ru1,
struct rusage *ru2,
struct rusage *ru) {
- const int million = 1000000;
- time_t sec,
+ const int million = 1000000;
+ time_t sec,
usec;
sec = ru1->ru_utime.tv_sec + ru2->ru_utime.tv_sec;
@@ -276,8 +276,8 @@
static void rusageMinusMax (struct rusage *ru1,
struct rusage *ru2,
struct rusage *ru) {
- const int million = 1000000;
- time_t sec,
+ const int million = 1000000;
+ time_t sec,
usec;
sec = (ru1->ru_utime.tv_sec - ru2->ru_utime.tv_sec) - 1;
@@ -296,7 +296,7 @@
}
static uint rusageTime (struct rusage *ru) {
- uint result;
+ uint result;
result = 0;
result += 1000 * ru->ru_utime.tv_sec;
@@ -308,7 +308,7 @@
/* Return time as number of milliseconds. */
static uint currentTime () {
- struct rusage ru;
+ struct rusage ru;
fixedGetrusage (RUSAGE_SELF, &ru);
return rusageTime (&ru);
@@ -334,7 +334,7 @@
void GC_display (GC_state s, FILE *stream) {
fprintf (stream, "GC state\n\tcardMap = 0x%08x\n\toldGen = 0x%08x\n\toldGenSize = %s\n\toldGen + oldGenSize = 0x%08x\n\tnursery = 0x%08x\n\tfrontier = 0x%08x\n\tfrontier - nursery = %u\n\tlimitPlusSlop - frontier = %d\n",
(uint) s->cardMap,
- (uint) s->heap.start,
+ (uint) s->heap.start,
uintToCommaString (s->oldGenSize),
(uint) s->heap.start + s->oldGenSize,
(uint) s->nursery,
@@ -360,7 +360,7 @@
unless (CROSS_MAP_EMPTY == s->crossMap[i])
fprintf (stderr, "\t%u\n", i);
fprintf (stderr, "\n");
- }
+ }
}
static inline uint cardNumToSize (GC_state s, uint n) {
@@ -608,7 +608,7 @@
static inline void foreachGlobal (GC_state s, GC_pointerFun f) {
int i;
- for (i = 0; i < s->globalsSize; ++i) {
+ for (i = 0; i < s->globalsSize; ++i) {
if (DEBUG_DETAILED)
fprintf (stderr, "foreachGlobal %u\n", i);
maybeCall (f, s, &s->globals [i]);
@@ -722,12 +722,12 @@
else {
max = p + dataBytes;
if (0 == numNonPointers)
- /* Array with only pointers. */
+ /* Array with only pointers. */
for (; p < max; p += POINTER_SIZE)
maybeCall (f, s, (pointer*)p);
else {
/* Array with a mix of pointers and non-pointers.
- */
+ */
uint numBytesPointers;
numBytesPointers = toBytes (numPointers);
@@ -839,10 +839,10 @@
(uint)front, *(uint*)back);
b = *back;
assert (front <= b);
- while (front < b) {
+ while (front < b) {
while (front < b) {
assert (isAligned ((uint)front, WORD_SIZE));
- if (DEBUG_DETAILED)
+ if (DEBUG_DETAILED)
fprintf (stderr, "front = 0x%08x *back = 0x%08x\n",
(uint)front, *(uint*)back);
front = foreachPointerInObject
@@ -887,7 +887,7 @@
}
static inline bool isInFromSpace (GC_state s, pointer p) {
- return (isInOldGen (s, p) or isInNursery (s, p));
+ return (isInOldGen (s, p) or isInNursery (s, p));
}
static inline void assertIsInFromSpace (GC_state s, pointer *p) {
@@ -902,7 +902,7 @@
*/
if (FALSE and s->mutatorMarksCards
and isInOldGen (s, (pointer)p)
- and isInNursery (s, *p)
+ and isInNursery (s, *p)
and not cardIsMarked (s, (pointer)p)) {
GC_display (s, stderr);
die ("gc.c: intergenerational pointer from 0x%08x to 0x%08x with unmarked card.\n",
@@ -931,14 +931,14 @@
layout = &(s->frameLayouts[i]);
if (layout->numBytes > 0) {
GC_offsets offsets;
-// int j;
+// int j;
assert (layout->numBytes <= s->maxFrameSize);
offsets = layout->offsets;
// No longer correct, since handler frames have a "size" (i.e. return address)
// pointing into the middle of the frame.
-// for (j = 0; j < offsets[0]; ++j)
-// assert (offsets[j + 1] < layout->numBytes);
+// for (j = 0; j < offsets[0]; ++j)
+// assert (offsets[j + 1] < layout->numBytes);
}
}
if (s->mutatorMarksCards) {
@@ -977,10 +977,10 @@
assert (isAlignedReserved (s, stack->reserved));
assert (s->stackBottom == stackBottom (s, stack));
assert (s->stackTop == stackTop (s, stack));
- assert (s->stackLimit == stackLimit (s, stack));
+ assert (s->stackLimit == stackLimit (s, stack));
assert (stack->used == currentStackUsed (s));
assert (stack->used <= stack->reserved);
- assert (s->stackBottom <= s->stackTop);
+ assert (s->stackBottom <= s->stackTop);
if (DEBUG)
fprintf (stderr, "invariant passed\n");
return TRUE;
@@ -1182,8 +1182,8 @@
s->limitPlusSlop = h->start + h->size;
s->limit = s->limitPlusSlop - LIMIT_SLOP;
assert (isAligned (nurserySize, WORD_SIZE));
- if ( /* The mutator marks cards. */
- s->mutatorMarksCards
+ if ( /* The mutator marks cards. */
+ s->mutatorMarksCards
/* There is enough space in the nursery. */
and (nurseryBytesRequested
<= s->limitPlusSlop
@@ -1295,7 +1295,7 @@
assert (heapIsInit (h));
if (desiredSize < minSize)
desiredSize = minSize;
- desiredSize = align (desiredSize, s->pageSize);
+ desiredSize = align (desiredSize, s->pageSize);
assert (0 == h->size and NULL == h->start);
backoff = (desiredSize - minSize) / 20;
if (0 == backoff)
@@ -1342,7 +1342,7 @@
static inline uint objectSize (GC_state s, pointer p) {
Bool hasIdentity;
uint headerBytes, objectBytes;
- word header;
+ word header;
uint tag, numPointers, numNonPointers;
header = GC_getHeader (p);
@@ -1447,7 +1447,7 @@
}
size = headerBytes + objectBytes;
assert (s->back + size + skip <= s->toLimit);
- /* Copy the object. */
+ /* Copy the object. */
copy (p - headerBytes, s->back, size);
/* If the object has a valid weak pointer, link it into the weaks
* for update after the copying GC is done.
@@ -1471,7 +1471,7 @@
fprintf (stderr, "not linking\n");
}
}
- /* Store the forwarding pointer in the old object. */
+ /* Store the forwarding pointer in the old object. */
*(word*)(p - WORD_SIZE) = FORWARDED;
*(pointer*)p = s->back + headerBytes;
/* Update the back of the queue. */
@@ -1530,9 +1530,9 @@
s->numCopyingGCs++;
s->toSpace = s->heap2.start;
s->toLimit = s->heap2.start + s->heap2.size;
- if (DEBUG or s->messages) {
+ if (DEBUG or s->messages) {
fprintf (stderr, "Major copying GC.\n");
- fprintf (stderr, "fromSpace = 0x%08x of size %s\n",
+ fprintf (stderr, "fromSpace = 0x%08x of size %s\n",
(uint) s->heap.start,
uintToCommaString (s->heap.size));
fprintf (stderr, "toSpace = 0x%08x of size %s\n",
@@ -1559,8 +1559,8 @@
clearCrossMap (s);
s->lastMajor = GC_COPYING;
if (detailedGCTime (s))
- stopTiming (&ru_start, &s->ru_gcCopy);
- if (DEBUG or s->messages)
+ stopTiming (&ru_start, &s->ru_gcCopy);
+ if (DEBUG or s->messages)
fprintf (stderr, "Major copying GC done.\n");
}
@@ -1794,7 +1794,7 @@
bytesAllocated = s->frontier - s->nursery;
if (bytesAllocated == 0)
return;
- s->bytesAllocated += bytesAllocated;
+ s->bytesAllocated += bytesAllocated;
if (not s->canMinor) {
s->oldGenSize += bytesAllocated;
bytesCopied = 0;
@@ -1815,7 +1815,7 @@
s->numMinorsSinceLastMajor++;
s->back = s->toSpace;
/* Forward all globals. Would like to avoid doing this once all
- * the globals have been assigned.
+ * the globals have been assigned.
*/
foreachGlobal (s, forwardIfInNursery);
forwardInterGenerationalPointers (s);
@@ -2003,7 +2003,7 @@
return e->object;
}
-static void maybeGrowTable (GC_state s, GC_ObjectHashTable t) {
+static void maybeGrowTable (GC_state s, GC_ObjectHashTable t) {
int i;
GC_ObjectHashElement oldElement;
struct GC_ObjectHashElement *oldElements;
@@ -2075,7 +2075,7 @@
for (p = (word*)object; p < (word*)max; ++p)
hash = hash * 31 + *p;
/* Insert into table. */
- res = tableInsert (s, t, hash, object, TRUE, header, tag, (Pointer)max);
+ res = tableInsert (s, t, hash, object, TRUE, header, tag, (Pointer)max);
maybeGrowTable (s, t);
if (countBytesHashConsed and res != object) {
uint amount;
@@ -2102,7 +2102,7 @@
if (DEBUG_SHARE)
fprintf (stderr, "maybeSharePointer pp = 0x%08x *pp = 0x%08x\n",
(uint)pp, (uint)*pp);
- *pp = hashCons (s, *pp, FALSE);
+ *pp = hashCons (s, *pp, FALSE);
}
/* ---------------------------------------------------------------- */
@@ -2161,7 +2161,7 @@
prev = NULL;
headerp = GC_getHeaderp (cur);
header = *(Header*)headerp;
- goto mark;
+ goto mark;
markNext:
/* cur is the object that was being marked.
* prev is the mark stack.
@@ -2223,7 +2223,7 @@
if (not GC_isPointer (next)) {
markNextInNormal:
assert (index < numPointers);
- index++;
+ index++;
if (index == numPointers) {
*headerp = header & ~COUNTER_MASK;
goto normalDone;
@@ -2347,7 +2347,7 @@
maybeSharePointer (s, (pointer*)todo, shouldHashCons);
goto markInFrame;
}
- ((GC_stack)cur)->markIndex = index;
+ ((GC_stack)cur)->markIndex = index;
goto markNext;
}
assert (FALSE);
@@ -2355,7 +2355,7 @@
/* Done marking cur, continue with prev.
* Need to set the pointer in the prev object that pointed to cur
* to point back to prev, and restore prev.
- */
+ */
if (DEBUG_MARK_COMPACT)
fprintf (stderr, "return cur = 0x%08x prev = 0x%08x\n",
(uint)cur, (uint)prev);
@@ -2438,7 +2438,7 @@
}
static inline void unmarkGlobal (GC_state s, pointer *pp) {
- mark (s, *pp, UNMARK_MODE, FALSE);
+ mark (s, *pp, UNMARK_MODE, FALSE);
}
static inline void threadInternal (GC_state s, pointer *pp) {
@@ -2526,7 +2526,7 @@
maybeClearWeak (s, p);
size = objectSize (s, p);
if (DEBUG_MARK_COMPACT)
- fprintf (stderr, "threading 0x%08x of size %u\n",
+ fprintf (stderr, "threading 0x%08x of size %u\n",
(uint)p, size);
if (front - endOfLastMarked >= 4 * WORD_SIZE) {
/* Compress all of the unmarked into one string.
@@ -2787,7 +2787,7 @@
fprintf (stderr, "Growing heap at 0x%08x of size %s to %s bytes.\n",
(uint)h->start,
uintToCommaString (h->size),
- uintToCommaString (desired));
+ uintToCommaString (desired));
old = s->heap.start;
size = s->oldGenSize;
assert (size <= h->size);
@@ -2804,7 +2804,7 @@
from = old + size;
to = h2.start + size;
remaining = size;
-copy:
+copy:
assert (remaining == from - old
and from >= old and to >= h2.start);
if (remaining < COPY_CHUNK_SIZE) {
@@ -2981,7 +2981,7 @@
s->hashConsDuringGC = TRUE;
if ((not FORCE_MARK_COMPACT)
and not s->hashConsDuringGC // only markCompact can hash cons
- and s->heap.size < s->ram
+ and s->heap.size < s->ram
and (not heapIsInit (&s->heap2)
or heapAllocateSecondSemi (s, heapDesiredSize (s, (W64)s->bytesLive + bytesRequested, 0))))
cheneyCopy (s);
@@ -3006,7 +3006,7 @@
/* We don't need to profileEnter for count profiling because it
* has already bumped the counter. If we did allow the bump,
* then the count would look like function(s) had run an extra
- * time.
+ * time.
*/
if (s->profileStack and not (PROFILE_COUNT == s->profileKind))
GC_profileEnter (s);
@@ -3144,7 +3144,7 @@
* the signal handler will then run atomically and will finish by
* switching to the thread to continue with, which will decrement
* s->canHandle to 0.
- */
+ */
s->canHandle = 2;
}
@@ -3164,7 +3164,7 @@
* check on every thread switch.
* So, we'll stick with the else branch for now.
*/
- enter (s);
+ enter (s);
s->currentThread->bytesNeeded = ensureBytesFree;
switchToThread (s, t);
s->canHandle--;
@@ -3172,7 +3172,7 @@
ensureMutatorInvariant (s, FALSE);
assert (mutatorFrontierInvariant(s));
assert (mutatorStackInvariant(s));
- leave (s);
+ leave (s);
} else {
/* BEGIN: enter(s); */
s->currentThread->stack->used = currentStackUsed (s);
@@ -3190,8 +3190,8 @@
doGC (s, 0, s->currentThread->bytesNeeded, FALSE, TRUE);
}
/* END: ensureMutatorInvariant */
- /* BEGIN: leave(s); */
- atomicEnd (s);
+ /* BEGIN: leave(s); */
+ atomicEnd (s);
/* END: leave(s); */
}
assert (mutatorFrontierInvariant(s));
@@ -3209,7 +3209,7 @@
if (0 == bytesRequested)
bytesRequested = LIMIT_SLOP;
s->currentThread->bytesNeeded = bytesRequested;
- maybeSwitchToHandler (s);
+ maybeSwitchToHandler (s);
ensureMutatorInvariant (s, force);
assert (mutatorFrontierInvariant(s));
assert (mutatorStackInvariant(s));
@@ -3248,7 +3248,7 @@
arraySize = (W32)arraySize64;
if (arraySize < GC_ARRAY_HEADER_SIZE + WORD_SIZE)
/* Create space for forwarding pointer. */
- arraySize = GC_ARRAY_HEADER_SIZE + WORD_SIZE;
+ arraySize = GC_ARRAY_HEADER_SIZE + WORD_SIZE;
if (DEBUG_ARRAY)
fprintf (stderr, "array with %s elts of size %u and total size %s. Ensure %s bytes free.\n",
uintToCommaString (numElts),
@@ -3300,7 +3300,7 @@
while (p < next) {
*(Pointer*)p = (Pointer)BOGUS_POINTER;
p += POINTER_SIZE;
- }
+ }
}
}
GC_profileAllocInc (s, arraySize);
@@ -3311,11 +3311,11 @@
}
assert (ensureBytesFree <= s->limitPlusSlop - s->frontier);
/* Unfortunately, the invariant isn't quite true here, because unless we
- * did the GC, we never set s->currentThread->stack->used to reflect
+ * did the GC, we never set s->currentThread->stack->used to reflect
* what the mutator did with stackTop.
- */
+ */
return res;
-}
+}
/* ---------------------------------------------------------------- */
/* Threads */
@@ -3326,7 +3326,7 @@
res = GC_NORMAL_HEADER_SIZE + sizeof (struct GC_thread);
/* The following assert depends on struct GC_thread being the right
- * size. Right now, it happens that res = 16, which is aligned mod 4
+ * size. Right now, it happens that res = 16, which is aligned mod 4
* and mod 8, which is all that we need. If the struct every changes
* (possible) or we need more alignment (doubtful), we may need to put
* some padding at the beginning.
@@ -3360,7 +3360,7 @@
* Hence we need to stash from where the GC can find it.
*/
s->savedThread = from;
- to = newThreadOfSize (s, size);
+ to = newThreadOfSize (s, size);
from = s->savedThread;
s->savedThread = BOGUS_THREAD;
if (DEBUG_THREADS) {
@@ -3386,7 +3386,7 @@
/* The following assert is no longer true, since alignment restrictions can force
* the reserved to be slightly larger than the used.
*/
-/* assert (res->stack->reserved == res->stack->used); */
+/* assert (res->stack->reserved == res->stack->used); */
assert (res->stack->reserved >= res->stack->used);
leave (s);
if (DEBUG_THREADS)
@@ -3405,13 +3405,13 @@
/* The following assert is no longer true, since alignment restrictions can force
* the reserved to be slightly larger than the used.
*/
-/* assert (t->stack->reserved == t->stack->used); */
+/* assert (t->stack->reserved == t->stack->used); */
assert (t->stack->reserved >= t->stack->used);
res = copyThread (s, t, t->stack->used);
/* The following assert is no longer true, since alignment restrictions can force
* the reserved to be slightly larger than the used.
*/
-/* assert (res->stack->reserved == res->stack->used); */
+/* assert (res->stack->reserved == res->stack->used); */
assert (res->stack->reserved >= res->stack->used);
leave (s);
if (DEBUG_THREADS)
@@ -3870,7 +3870,7 @@
else {
if (DEBUG_PROFILE)
fprintf (stderr, "pc out of bounds\n");
- sourceSeqIndex = SOURCE_SEQ_UNKNOWN;
+ sourceSeqIndex = SOURCE_SEQ_UNKNOWN;
}
}
}
@@ -3929,7 +3929,7 @@
}
for ( ; p < s->textEnd; ++p)
s->textSources[p - s->textStart] = sourceSeqsIndex;
- /*
+ /*
* Install catcher, which handles SIGPROF and calls MLton_Profile_inc.
*
* One thing I should point out that I discovered the hard way: If
@@ -4072,7 +4072,7 @@
/*
* For each entry { globalIndex, mlstr } in the inits array (which is terminated
* by one with an mlstr of NULL), set
- * state->globals[globalIndex]
+ * state->globals[globalIndex]
* to the corresponding IntInf.int value.
* On exit, the GC_state pointed to by s is adjusted to account for any
* space used.
@@ -4080,16 +4080,16 @@
static void initIntInfs (GC_state s) {
struct GC_intInfInit *inits;
pointer frontier;
- char *str;
- uint slen,
+ char *str;
+ uint slen,
llen,
alen,
i,
index;
- bool neg,
+ bool neg,
hex;
- bignum *bp;
- uchar *cp;
+ bignum *bp;
+ uchar *cp;
assert (isAlignedFrontier (s, s->frontier));
frontier = s->frontier;
@@ -4123,7 +4123,7 @@
alen = mpn_set_str (bp->limbs, cp, slen, hex ? 0x10 : 10);
assert (alen <= llen);
if (alen <= 1) {
- uint val,
+ uint val,
ans;
if (alen == 0)
@@ -4262,7 +4262,7 @@
s->canHandle = sfreadUint (file);
s->currentThread = (GC_thread) sfreadUint (file);
s->signalHandler = (GC_thread) sfreadUint (file);
- heapCreate (s, &s->heap, heapDesiredSize (s, s->oldGenSize, 0),
+ heapCreate (s, &s->heap, heapDesiredSize (s, s->oldGenSize, 0),
s->oldGenSize);
createCardMapAndCrossMap (s);
sfread (s->heap.start, 1, s->oldGenSize, file);
@@ -4430,7 +4430,7 @@
s->alignment));
assert (isAligned (GC_NORMAL_HEADER_SIZE + sizeof (struct GC_weak),
s->alignment));
- MLton_Platform_CygwinUseMmap = FALSE;
+ MLton_Platform_CygwinUseMmap = FALSE;
s->amInGC = TRUE;
s->amInMinorGC = FALSE;
s->bytesAllocated = 0;
@@ -4638,7 +4638,7 @@
fprintf (out, "max pause: %s ms\n",
uintToCommaString (s->maxPause));
fprintf (out, "total allocated: %s bytes\n",
- ullongToCommaString (s->bytesAllocated));
+ ullongToCommaString (s->bytesAllocated));
fprintf (out, "max live: %s bytes\n",
uintToCommaString (s->maxBytesLive));
fprintf (out, "max semispace: %s bytes\n",
@@ -4660,7 +4660,7 @@
if (DEBUG_SIGNALS)
fprintf (stderr, "GC_finishHandler ()\n");
assert (s->canHandle == 1);
- s->inSignalHandler = FALSE;
+ s->inSignalHandler = FALSE;
}
/* GC_handler sets s->limit = 0 so that the next limit check will fail.
@@ -4709,13 +4709,13 @@
swriteUint (fd, (uint)s->oldGenSize);
swriteUint (fd, (uint)s->callFromCHandler);
/* canHandle must be saved in the heap, because the saveWorld may be
- * run in the context of a critical section, which will expect to be in
+ * run in the context of a critical section, which will expect to be in
* the same context when it is restored.
*/
swriteUint (fd, s->canHandle);
swriteUint (fd, (uint)s->currentThread);
swriteUint (fd, (uint)s->signalHandler);
- swrite (fd, s->heap.start, s->oldGenSize);
+ swrite (fd, s->heap.start, s->oldGenSize);
(*s->saveGlobals) (fd);
leave (s);
}
@@ -4730,7 +4730,7 @@
/* Could put some code here to skip the GC if there hasn't been much
* allocated since the last collection. But you would still need to
* do a minor GC to make all objects contiguous.
- */
+ */
doGC (s, 0, 0, TRUE, FALSE);
keep = s->oldGenSize * 1.1;
if (keep <= s->heap.size) {
@@ -4752,7 +4752,7 @@
uintToCommaString (s->heap.size));
/* The enterGC is needed here because minorGC and resizeHeap might move
* the stack, and the SIGPROF catcher would then see a bogus stack. The
- * leaveGC has to happen after the setStack.
+ * leaveGC has to happen after the setStack.
*/
enterGC (s);
minorGC (s);
Modified: mlton/trunk/runtime/gc.h
===================================================================
--- mlton/trunk/runtime/gc.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/gc.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -19,10 +19,10 @@
/*
* Header word bits look as follows:
- * 31 mark bit
- * 30 - 20 counter bits
- * 19 - 1 type index bits
- * 0 1
+ * 31 mark bit
+ * 30 - 20 counter bits
+ * 19 - 1 type index bits
+ * 0 1
*
* The mark bit is used by the mark compact GC and GC_size to mark an object
* as reachable. The counter bits are used during the mark phase in conjunction
@@ -54,27 +54,27 @@
/* Sizes are (almost) always measured in bytes. */
enum {
BOGUS_POINTER = 0x1,
- WORD_SIZE = 4,
- COUNTER_MASK = 0x7FF00000,
- COUNTER_SHIFT = 20,
- GC_ARRAY_HEADER_SIZE = 3 * WORD_SIZE,
- GC_NORMAL_HEADER_SIZE = WORD_SIZE,
- TYPE_INDEX_BITS = 19,
- TYPE_INDEX_MASK = 0x000FFFFE,
- LIMIT_SLOP = 512,
- MARK_MASK = 0x80000000,
- POINTER_SIZE = WORD_SIZE,
+ WORD_SIZE = 4,
+ COUNTER_MASK = 0x7FF00000,
+ COUNTER_SHIFT = 20,
+ GC_ARRAY_HEADER_SIZE = 3 * WORD_SIZE,
+ GC_NORMAL_HEADER_SIZE = WORD_SIZE,
+ TYPE_INDEX_BITS = 19,
+ TYPE_INDEX_MASK = 0x000FFFFE,
+ LIMIT_SLOP = 512,
+ MARK_MASK = 0x80000000,
+ POINTER_SIZE = WORD_SIZE,
SOURCES_INDEX_UNKNOWN = 0,
- SOURCES_INDEX_GC = 1,
+ SOURCES_INDEX_GC = 1,
SOURCE_SEQ_GC = 1,
- SOURCE_SEQ_UNKNOWN = 0,
+ SOURCE_SEQ_UNKNOWN = 0,
/* The type indices here must agree with those in
* backend/rep-type.fun.
*/
- STACK_TYPE_INDEX = 0,
- STRING_TYPE_INDEX = 1,
- THREAD_TYPE_INDEX = 2,
- WEAK_GONE_TYPE_INDEX = 3,
+ STACK_TYPE_INDEX = 0,
+ STRING_TYPE_INDEX = 1,
+ THREAD_TYPE_INDEX = 2,
+ WEAK_GONE_TYPE_INDEX = 3,
WORD8_VECTOR_TYPE_INDEX = STRING_TYPE_INDEX,
WORD32_VECTOR_TYPE_INDEX = 4,
WORD16_VECTOR_TYPE_INDEX = 5,
@@ -125,14 +125,14 @@
* IntInf.int whose value corresponds to the mlstr string.
*
* The strings pointed to by the mlstr fields consist of
- * an optional ~
- * either one or more of [0-9] or
- * 0x followed by one or more of [0-9a-fA-F]
- * a trailing EOS
+ * an optional ~
+ * either one or more of [0-9] or
+ * 0x followed by one or more of [0-9a-fA-F]
+ * a trailing EOS
*/
struct GC_intInfInit {
- uint globalIndex;
- char *mlstr;
+ uint globalIndex;
+ char *mlstr;
};
/* GC_init allocates a collection of arrays/vectors in the heap. */
@@ -185,7 +185,7 @@
/* GC_stack */
/* ------------------------------------------------- */
-typedef struct GC_stack {
+typedef struct GC_stack {
/* markTop and markIndex are only used during marking. They record the
* current pointer in the stack that is being followed. markTop points
* to the top of the stack frame containing the pointer and markI is the
@@ -202,7 +202,7 @@
/* used is the number of bytes in use by the stack.
* Stacks with used == reserved are continuations.
*/
- uint used;
+ uint used;
/* The next address is the bottom of the stack, and the following
* reserved bytes hold space for the stack.
*/
@@ -219,13 +219,13 @@
* Furthermore, the exnStack field must be first, because the native
* codegen depends on this (which is bad and should be fixed).
*/
- uint exnStack; /* An offset added to stackBottom that specifies
+ uint exnStack; /* An offset added to stackBottom that specifies
* where the top of the exnStack is.
*/
uint bytesNeeded; /* The number of bytes needed when returning
* to this thread.
*/
- GC_stack stack; /* The stack for this thread. */
+ GC_stack stack; /* The stack for this thread. */
} *GC_thread;
/* ------------------------------------------------- */
@@ -319,7 +319,7 @@
typedef struct GC_heap {
uint size;
- pointer start; /* start of memory area */
+ pointer start; /* start of memory area */
} *GC_heap;
/* ------------------------------------------------- */
@@ -338,22 +338,22 @@
/* These fields are at the front because they are the most commonly
* referenced, and having them at smaller offsets may decrease code size.
*/
- pointer frontier; /* base <= frontier < limit */
- pointer limit; /* end of from space */
+ pointer frontier; /* base <= frontier < limit */
+ pointer limit; /* end of from space */
pointer stackTop;
- pointer stackLimit; /* stackBottom + stackSize - maxFrameSize */
+ pointer stackLimit; /* stackBottom + stackSize - maxFrameSize */
uint exnStack;
- uint alignment; /* Either WORD_SIZE or 2 * WORD_SIZE. */
+ uint alignment; /* Either WORD_SIZE or 2 * WORD_SIZE. */
bool amInGC;
bool amInMinorGC;
- string *atMLtons; /* Initial @MLton args, processed before command
+ string *atMLtons; /* Initial @MLton args, processed before command
* line.
*/
int atMLtonsSize;
- pointer back; /* Points at next available word in toSpace. */
+ pointer back; /* Points at next available word in toSpace. */
ullong bytesAllocated;
- ullong bytesCopied;
+ ullong bytesCopied;
ullong bytesCopiedMinor;
ullong bytesHashConsed;
int bytesLive; /* Number of bytes live at most recent major GC. */
@@ -366,7 +366,7 @@
uint cardSize;
uint cardSizeLog2;
/* Only use generational GC with copying collection if the ratio of
- * semispace size to live data size is below copyGenerationalRatio.
+ * semispace size to live data size is below copyGenerationalRatio.
*/
float copyGenerationalRatio;
float copyRatio; /* Minimum live ratio to use copying GC. */
@@ -377,7 +377,7 @@
*/
uint crossMapValidSize;
GC_thread currentThread; /* This points to a thread in the heap. */
- uint fixedHeap; /* If 0, then no fixed heap. */
+ uint fixedHeap; /* If 0, then no fixed heap. */
GC_frameLayout *frameLayouts;
uint frameLayoutsSize;
/* frameSources is an array of length frameLayoutsSize that for each
@@ -394,12 +394,12 @@
Bool hashConsDuringGC;
float hashConsFrequency; /* What fraction of GC's should hash cons. */
struct GC_heap heap;
- struct GC_heap heap2; /* Used for major copying collection. */
- bool inSignalHandler; /* TRUE iff a signal handler is running. */
+ struct GC_heap heap2; /* Used for major copying collection. */
+ bool inSignalHandler; /* TRUE iff a signal handler is running. */
struct GC_intInfInit *intInfInits;
uint intInfInitsSize;
/* canHandle == 0 iff GC may switch to the signal handler
- * thread. This is used to implement critical sections.
+ * thread. This is used to implement critical sections.
*/
volatile int canHandle;
bool isOriginal;
@@ -413,14 +413,14 @@
float markCompactRatio;
ullong markedCards; /* Number of marked cards seen during minor GCs. */
/* Only use generational GC with mark-compact collection if the ratio of
- * heap size to live data size is below markCompactGenerationalRatio.
+ * heap size to live data size is below markCompactGenerationalRatio.
*/
float markCompactGenerationalRatio;
uint maxBytesLive;
uint maxFrameSize;
uint maxHeap; /* if zero, then unlimited, else limit total heap */
uint maxHeapSizeSeen;
- uint maxPause; /* max time spent in any gc in milliseconds. */
+ uint maxPause; /* max time spent in any gc in milliseconds. */
uint maxStackSizeSeen;
bool mayLoadWorld;
bool mayProcessAtMLton;
@@ -429,9 +429,9 @@
ullong minorBytesSkipped;
bool mutatorMarksCards;
uint numCopyingGCs;
- ullong numLCs;
+ ullong numLCs;
uint numHashConsGCs;
- uint numMarkCompactGCs;
+ uint numMarkCompactGCs;
uint numMinorGCs;
uint numMinorsSinceLastMajor;
/* As long as the ratio of bytes live to nursery size is greater than
@@ -449,14 +449,14 @@
uint oldGenSize;
uint pageSize; /* bytes */
GC_profile profile;
- ProfileKind profileKind;
+ ProfileKind profileKind;
bool profileStack;
bool profilingIsOn;
W32 ram; /* ramSlop * totalRam */
W32 (*returnAddressToFrameIndex) (W32 w);
float ramSlop;
bool rusageIsEnabled;
- struct rusage ru_gc; /* total resource usage spent in gc */
+ struct rusage ru_gc; /* total resource usage spent in gc */
struct rusage ru_gcCopy; /* resource usage in major copying gcs. */
struct rusage ru_gcMarkCompact; /* resource usage in mark-compact gcs. */
struct rusage ru_gcMinor; /* resource usage in minor gcs. */
@@ -498,7 +498,7 @@
struct GC_source *sources;
uint sourcesSize;
pointer stackBottom; /* The bottom of the stack in the current thread. */
- uint startTime; /* The time when GC_init or GC_loadWorld was called. */
+ uint startTime; /* The time when GC_init or GC_loadWorld was called. */
/* If summary is TRUE, then print a summary of gc info when the program
* is done .
*/
@@ -512,16 +512,16 @@
float threadShrinkRatio;
pointer toSpace; /* used during copying */
pointer toLimit; /* used during copying */
- uint totalRam; /* bytes */
- uint translateDiff; /* used by translateHeap */
- bool translateUp; /* used by translateHeap */
+ uint totalRam; /* bytes */
+ uint translateDiff; /* used by translateHeap */
+ bool translateUp; /* used by translateHeap */
struct GC_vectorInit *vectorInits;
uint vectorInitsSize;
GC_weak weaks;
} *GC_state;
static inline uint wordAlign(uint p) {
- return ((p + 3) & ~ 3);
+ return ((p + 3) & ~ 3);
}
static inline bool isWordAligned(uint x) {
Modified: mlton/trunk/runtime/platform/linux.c
===================================================================
--- mlton/trunk/runtime/platform/linux.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/platform/linux.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -10,7 +10,7 @@
#include "use-mmap.c"
#ifndef EIP
-#define EIP 14
+#define EIP 14
#endif
/* potentially correct for other archs:
@@ -57,12 +57,12 @@
/* Work around Linux kernel bugs associated with the user and system times. */
int fixedGetrusage (int who, struct rusage *rup) {
- struct tms tbuff;
- int res;
- clock_t user,
+ struct tms tbuff;
+ int res;
+ clock_t user,
sys;
- static bool first = TRUE;
- static long hz;
+ static bool first = TRUE;
+ static long hz;
if (first) {
first = FALSE;
Modified: mlton/trunk/runtime/platform/mingw.c
===================================================================
--- mlton/trunk/runtime/platform/mingw.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/platform/mingw.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -100,7 +100,7 @@
static void initRlimits () {
static int done = FALSE;
- int lim;
+ int lim;
if (done)
return;
@@ -182,7 +182,7 @@
}
CloseHandle (fhmap);
}
- return;
+ return;
}
#endif
@@ -192,10 +192,10 @@
int fchmod (int filedes, mode_t mode) {
die ("chown not implemented");
-// char fname[MAX_PATH + 1];
+// char fname[MAX_PATH + 1];
//
-// GetWin32FileName (filedes, fname);
-// return _chmod (fname, mode);
+// GetWin32FileName (filedes, fname);
+// return _chmod (fname, mode);
}
int fchown (int fd, uid_t owner, gid_t group) {
@@ -272,10 +272,10 @@
if (filedes[0] == -1 or filedes[1] == -1) {
if (filedes[0] == -1)
CloseHandle(read);
- else close(filedes[0]);
+ else close(filedes[0]);
if (filedes[1] == -1)
CloseHandle(write);
- else close(filedes[1]);
+ else close(filedes[1]);
errno = ENFILE;
return -1;
@@ -394,17 +394,17 @@
switch (osv.dwPlatformId) {
case VER_PLATFORM_WIN32_NT:
if (osv.dwMinorVersion == 0) {
- if (osv.dwMajorVersion <= 4) os = "NT";
- else os = "2000";
- } else if (osv.dwMinorVersion <= 1) os = "XP";
- else if (osv.dwMinorVersion <= 2) os = "2003";
- else os = "NTx";
+ if (osv.dwMajorVersion <= 4) os = "NT";
+ else os = "2000";
+ } else if (osv.dwMinorVersion <= 1) os = "XP";
+ else if (osv.dwMinorVersion <= 2) os = "2003";
+ else os = "NTx";
break;
case VER_PLATFORM_WIN32_WINDOWS:
- if (osv.dwMinorVersion == 0) os = "95";
- else if (osv.dwMinorVersion < 90) os = "98";
- else if (osv.dwMinorVersion == 90) os = "Me";
- else os = "9X";
+ if (osv.dwMinorVersion == 0) os = "95";
+ else if (osv.dwMinorVersion < 90) os = "98";
+ else if (osv.dwMinorVersion == 90) os = "Me";
+ else os = "9X";
break;
case VER_PLATFORM_WIN32s:
os = "31"; /* aka DOS + Windows 3.1 */
@@ -445,7 +445,7 @@
int alarm (int secs) {
LARGE_INTEGER timer_end_val, frequency;
int remaining = 0;
- long elapse = secs * 1000; /* win32 uses usecs */
+ long elapse = secs * 1000; /* win32 uses usecs */
/* Unsetting the alarm */
if (secs == 0 && curr_timer == 0) {
@@ -633,10 +633,10 @@
struct passwd *getpwnam (const char *name) {
return NULL;
-// unless (NERR_Success ==
-// NetUserGetInfo (NULL, (LPCWSTR)name, INFO_LEVEL,
-// (LPBYTE*)&usrData))
-// return NULL;
+// unless (NERR_Success ==
+// NetUserGetInfo (NULL, (LPCWSTR)name, INFO_LEVEL,
+// (LPBYTE*)&usrData))
+// return NULL;
passwd.pw_dir = (char*)usrData->usri3_home_dir;
passwd.pw_gid = usrData->usri3_primary_group_id;
passwd.pw_name = (char*)usrData->usri3_name;
Modified: mlton/trunk/runtime/platform/mingw.h
===================================================================
--- mlton/trunk/runtime/platform/mingw.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/platform/mingw.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -60,7 +60,7 @@
#define MSG_DONTWAIT 0
-#define SHUT_RD SD_RECEIVE
+#define SHUT_RD SD_RECEIVE
#define SHUT_WR SD_SEND
#define SHUT_RDWR SD_BOTH
@@ -115,8 +115,8 @@
typedef unsigned long rlim_t;
struct rlimit {
- rlim_t rlim_cur;
- rlim_t rlim_max;
+ rlim_t rlim_cur;
+ rlim_t rlim_max;
};
int getrlimit (int resource, struct rlimit *rlim);
@@ -141,9 +141,9 @@
/* ------------------------------------------------- */
struct pollfd {
- short events;
+ short events;
int fd;
- short revents;
+ short revents;
};
int poll (struct pollfd *ufds, unsigned int nfds, int timeout);
@@ -327,20 +327,20 @@
#define SIGCONT 25
#define SIGUSR1 25
#define SIGUSR2 26
-#define SIGVTALRM 26 /* virtual time alarm */
-#define SIGPROF 27 /* profiling time alarm */
+#define SIGVTALRM 26 /* virtual time alarm */
+#define SIGPROF 27 /* profiling time alarm */
#define _NSIG 32
typedef void (*_sig_func_ptr)();
struct sigaction {
- int sa_flags;
+ int sa_flags;
sigset_t sa_mask;
- _sig_func_ptr sa_handler;
+ _sig_func_ptr sa_handler;
};
-#define SIGTOMASK(sn) (1 << ((sn)-1))
+#define SIGTOMASK(sn) (1 << ((sn)-1))
int sigaction (int signum,
const struct sigaction *act,
@@ -359,9 +359,9 @@
/* ------------------------------------------------- */
struct group {
- gid_t gr_gid;
+ gid_t gr_gid;
char **gr_mem;
- char *gr_name;
+ char *gr_name;
char *gr_passwd;
};
@@ -477,9 +477,9 @@
#define TCSADRAIN 3
#define TCSADFLUSH 4
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
+typedef unsigned char cc_t;
+typedef unsigned int speed_t;
+typedef unsigned int tcflag_t;
struct termios {
cc_t c_cc[NCCS];
@@ -507,9 +507,9 @@
/* ------------------------------------------------- */
#define MSG_DONTWAIT 0
-#define UNIX_PATH_MAX 108
+#define UNIX_PATH_MAX 108
-typedef unsigned short sa_family_t;
+typedef unsigned short sa_family_t;
struct sockaddr_un {
sa_family_t sun_family;
Modified: mlton/trunk/runtime/platform/solaris.c
===================================================================
--- mlton/trunk/runtime/platform/solaris.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/platform/solaris.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -30,7 +30,7 @@
switch (mode) {
case FP_RN: mode = 0; break;
case FP_RM: mode = 1; break;
- case FP_RP: mode = 2; break;
+ case FP_RP: mode = 2; break;
case FP_RZ: mode = 3; break;
}
return mode;
Modified: mlton/trunk/runtime/platform/totalRam.sysctl.c
===================================================================
--- mlton/trunk/runtime/platform/totalRam.sysctl.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/platform/totalRam.sysctl.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -7,5 +7,5 @@
len = sizeof(mem);
if (-1 == sysctl (mib, 2, &mem, &len, NULL, 0))
diee ("sysctl failed");
- return mem;
+ return mem;
}
Modified: mlton/trunk/runtime/platform/windows.c
===================================================================
--- mlton/trunk/runtime/platform/windows.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/platform/windows.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -88,12 +88,12 @@
* It's interesting that you can open files for/from other processes...
*/
unless (DuplicateHandle (
- GetCurrentProcess(), /* source process */
- raw, /* source handle */
- GetCurrentProcess(), /* target process */
- &dupd, /* target handle - valid in target proc */
- 0, /* ignored b/c DUPLICATE_SAME_ACCESS used */
- TRUE, /* this can be inherited by children */
+ GetCurrentProcess(), /* source process */
+ raw, /* source handle */
+ GetCurrentProcess(), /* target process */
+ &dupd, /* target handle - valid in target proc */
+ 0, /* ignored b/c DUPLICATE_SAME_ACCESS used */
+ TRUE, /* this can be inherited by children */
DUPLICATE_SAME_ACCESS))/* keep the same permissions */
{
errno = ENOMEM;
@@ -123,10 +123,10 @@
Pid Windows_Process_create (NullString cmds, NullString args, NullString envs,
Fd in, Fd out, Fd err) {
- char *cmd;
- char *arg;
- char *env;
- int result;
+ char *cmd;
+ char *arg;
+ char *env;
+ int result;
STARTUPINFO si;
PROCESS_INFORMATION proc;
@@ -148,15 +148,15 @@
return -1;
}
result = CreateProcess (
- cmd, /* The executable as a windows path */
- arg, /* Command-line as a string */
- 0, /* Process inherits security params */
- 0, /* Initial thread inherits security params */
- TRUE, /* Inherit HANDLEs set as inherit */
- 0, /* Normal priority + no special flags */
- env, /* Environment as a string {n=v\0}\0 */
- 0, /* Current directory = parent's */
- &si, /* Start info from above */
+ cmd, /* The executable as a windows path */
+ arg, /* Command-line as a string */
+ 0, /* Process inherits security params */
+ 0, /* Initial thread inherits security params */
+ TRUE, /* Inherit HANDLEs set as inherit */
+ 0, /* Normal priority + no special flags */
+ env, /* Environment as a string {n=v\0}\0 */
+ 0, /* Current directory = parent's */
+ &si, /* Start info from above */
&proc); /* returned handle */
if (0 == result) {
errno = ENOENT; /* probably does not exist (aka ENOFILE)*/
Modified: mlton/trunk/runtime/platform.c
===================================================================
--- mlton/trunk/runtime/platform.c 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/platform.c 2005-08-21 18:31:31 UTC (rev 4020)
@@ -8,7 +8,7 @@
#include "platform.h"
void die (char *fmt, ...) {
- va_list args;
+ va_list args;
fflush(stdout);
va_start(args, fmt);
@@ -19,7 +19,7 @@
}
void diee (char * fmt, ...) {
- va_list args;
+ va_list args;
fflush(stdout);
va_start(args, fmt);
@@ -50,23 +50,23 @@
if (0 == n)
buf[i--] = '0';
- else if (INT_MIN == n) {
+ else if (INT_MIN == n) {
/* must treat INT_MIN specially, because I negate stuff later */
strcpy (buf + 1, "-2,147,483,648");
i = 0;
} else {
int m;
- if (n > 0) m = n; else m = -n;
+ if (n > 0) m = n; else m = -n;
while (m > 0) {
- buf[i--] = m % 10 + '0';
+ buf[i--] = m % 10 + '0';
m = m / 10;
- if (i % 4 == 0 and m > 0) buf[i--] = ',';
- }
- if (n < 0) buf[i--] = '-';
- }
- return buf + i + 1;
+ if (i % 4 == 0 and m > 0) buf[i--] = ',';
+ }
+ if (n < 0) buf[i--] = '-';
+ }
+ return buf + i + 1;
}
void *scalloc (size_t nmemb, size_t size) {
@@ -171,12 +171,12 @@
buf[i--] = '0';
else {
while (n > 0) {
- buf[i--] = n % 10 + '0';
+ buf[i--] = n % 10 + '0';
n = n / 10;
- if (i % 4 == 0 and n > 0) buf[i--] = ',';
- }
- }
- return buf + i + 1;
+ if (i % 4 == 0 and n > 0) buf[i--] = ',';
+ }
+ }
+ return buf + i + 1;
}
string ullongToCommaString (ullong n) {
@@ -190,11 +190,11 @@
buf[i--] = '0';
else {
while (n > 0) {
- buf[i--] = n % 10 + '0';
+ buf[i--] = n % 10 + '0';
n = n / 10;
- if (i % 4 == 0 and n > 0) buf[i--] = ',';
- }
- }
- return buf + i + 1;
+ if (i % 4 == 0 and n > 0) buf[i--] = ',';
+ }
+ }
+ return buf + i + 1;
}
Modified: mlton/trunk/runtime/platform.h
===================================================================
--- mlton/trunk/runtime/platform.h 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/runtime/platform.h 2005-08-21 18:31:31 UTC (rev 4020)
@@ -79,40 +79,40 @@
#endif
#ifndef bool
-#define bool int /* boolean type */
+#define bool int /* boolean type */
#endif
-#define uint unsigned int /* short names for unsigned types */
-#define ulong unsigned long
-#define ullong unsigned long long /* GCC extension */
-#define llong long long /* GCC extension */
-#define uchar unsigned char
-#define ushort unsigned short int
-#define not ! /* logical negation operator */
-#define and && /* logical conjunction */
-#define or || /* logical disjunction */
+#define uint unsigned int /* short names for unsigned types */
+#define ulong unsigned long
+#define ullong unsigned long long /* GCC extension */
+#define llong long long /* GCC extension */
+#define uchar unsigned char
+#define ushort unsigned short int
+#define not ! /* logical negation operator */
+#define and && /* logical conjunction */
+#define or || /* logical disjunction */
#ifndef TRUE
-#define TRUE (0 == 0)
+#define TRUE (0 == 0)
#endif
#ifndef FALSE
-#define FALSE (not TRUE)
+#define FALSE (not TRUE)
#endif
-#define loop while (TRUE) /* loop until break */
-#define EOS '\0' /* end-of-string char */
-#ifndef NULL
-#define NULL 0 /* invalid pointer */
+#define loop while (TRUE) /* loop until break */
+#define EOS '\0' /* end-of-string char */
+#ifndef NULL
+#define NULL 0 /* invalid pointer */
#endif
-#define NEW(t, x) x = (t)(smalloc (sizeof(*x)))
-#define ARRAY(t, a, s) a = (t)(scalloc (s, sizeof(*a)))
-#define ARRAY_UNSAFE(t, a, s) a = (t)(calloc (s, sizeof(*a)))
+#define NEW(t, x) x = (t)(smalloc (sizeof(*x)))
+#define ARRAY(t, a, s) a = (t)(scalloc (s, sizeof(*a)))
+#define ARRAY_UNSAFE(t, a, s) a = (t)(calloc (s, sizeof(*a)))
#define string char*
-#define unless(p) if (not (p))
-#define until(p) while (not (p))
-#define cardof(a) (sizeof(a) / sizeof(*(a)))
-#define endof(a) ((a) + cardof(a))
-#define bitsof(a) (sizeof(a) * 8)
+#define unless(p) if (not (p))
+#define until(p) while (not (p))
+#define cardof(a) (sizeof(a) / sizeof(*(a)))
+#define endof(a) ((a) + cardof(a))
+#define bitsof(a) (sizeof(a) * 8)
#ifndef max
#define max(a, b) ((a)>(b)?(a):(b))
@@ -193,7 +193,7 @@
#define INT_MIN ((int)0x80000000)
#endif
#ifndef INT_MAX
-#define INT_MAX ((int)0x7FFFFFFF)
+#define INT_MAX ((int)0x7FFFFFFF)
#endif
enum {
@@ -362,20 +362,20 @@
/*
* Third header word for bignums and strings.
*/
-#define BIGMAGIC GC_objectHeader (WORD32_VECTOR_TYPE_INDEX)
-#define STRMAGIC GC_objectHeader (STRING_TYPE_INDEX)
+#define BIGMAGIC GC_objectHeader (WORD32_VECTOR_TYPE_INDEX)
+#define STRMAGIC GC_objectHeader (STRING_TYPE_INDEX)
/*
* Layout of bignums. Note, the value passed around is a pointer to
* the isneg member.
*/
-typedef struct bignum {
- uint counter, /* used by GC. */
- card, /* one more than the number of limbs */
- magic, /* BIGMAGIC */
- isneg; /* iff bignum is negative */
- ulong limbs[0]; /* big digits, least significant first */
-} bignum;
+typedef struct bignum {
+ uint counter, /* used by GC. */
+ card, /* one more than the number of limbs */
+ magic, /* BIGMAGIC */
+ isneg; /* iff bignum is negative */
+ ulong limbs[0]; /* big digits, least significant first */
+} bignum;
/* All of these routines modify the frontier in gcState. They assume that
* there are bytes bytes free, and allocate an array to store the result
Modified: mlton/trunk/util/cm2mlb/cm2mlb.sml
===================================================================
--- mlton/trunk/util/cm2mlb/cm2mlb.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/util/cm2mlb/cm2mlb.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -12,7 +12,7 @@
* CM2MLB.cm2mlb {defines = ["MLton"],
* maps = [],
* sources = "sources.cm",
- * out = TextIO.stdOut}
+ * out = TextIO.stdOut}
*
* Before using from the shell, you must do the following, where <smlnj> is
* the root directory of the SML/NJ installation. You may need to be root in
Modified: mlton/trunk/util/cmcat/cmcat.sml
===================================================================
--- mlton/trunk/util/cmcat/cmcat.sml 2005-08-21 17:50:05 UTC (rev 4019)
+++ mlton/trunk/util/cmcat/cmcat.sml 2005-08-21 18:31:31 UTC (rev 4020)
@@ -13,7 +13,7 @@
* CMcat.cmcat {comments = true,
* defines = [],
* sources = "sources.cm",
- * out = TextIO.stdOut}
+ * out = TextIO.stdOut}
*
* Before using from the shell, you must do the following, where <smlnj> is
* the root directory of the SML/NJ installation. You may need to be root in
@@ -414,7 +414,7 @@
env = env') of
NONE => raise Fail (concat ["lhs: ", lhs, " violates ENV_TYPE"])
| SOME (T {syms, ...}) => syms
- end
+ end
val symsSyms =
let val hash = String.hash syms
in
@@ -503,7 +503,7 @@
T {hash = hash,
lhs = (srcdescr, lhs),
syms = syms}
- in
+ in
HashSet.insertIfNew
(symsNodesDefs, hash, fn T {lhs = (srcdescr',lhs'), ...} =>
SrcDescr.equals(srcdescr, srcdescr') andalso