Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/ml-lex/export-lex.sml
ViewVC logotype

Diff of /sml/trunk/src/ml-lex/export-lex.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

sml/branches/SMLNJ/src/ml-lex/export-lex.sml revision 498, Tue Dec 7 15:44:50 1999 UTC sml/trunk/src/ml-lex/export-lex.sml revision 651, Thu Jun 1 18:34:03 2000 UTC
# Line 1  Line 1 
1  (* export-lex.sml  (* export-lex.sml
2   *   *
3   * $Log$   * $Log$
4     * Revision 1.3  2000/06/01 18:33:42  monnier
5     * bring revisions from the vendor branch to the trunk
6     *
7     * Revision 1.2  2000/03/07 04:01:05  blume
8     * - size info in BOOTLIST
9     *      * no fixed upper limits for number of bootfiles or length of
10     *        bootfile names in runtime
11     *      * falling back to old behavior if no BOOTLIST size info found
12     * - allocation size heuristics in .run-sml
13     *      * tries to read cache size from /proc/cpuinfo (this is important for
14     *         small-cache Celeron systems!)
15     * - install.sh robustified
16     * - CM manual updates
17     * - paranoid mode
18     *      * no more CMB.deliver() (i.e., all done by CMB.make())
19     *      * can re-use existing sml.boot.* files
20     *      * init.cmi now treated as library
21     *      * library stamps for consistency checks
22     * - sml.boot.<arch>-<os>/PIDMAP file
23     *      * This file is read by the CM startup code.  This is used to minimize
24     *        the amount of dynamic state that needs to be stowed away for the
25     *        purpose of sharing between interactive system and user code.
26     * - CM.Anchor.anchor instead of CM.Anchor.{set,cancel}
27     *      * Upon request by Elsa.  Anchors now controlled by get-set-pair
28     *        like most other CM state variables.
29     * - Compiler.CMSA eliminated
30     *      * No longer supported by CM anyway.
31     * - fixed bugs in pickler that kept biting Stefan
32     *      * past refs to past refs (was caused by the possibility that
33     *        ad-hoc sharing is more discriminating than hash-cons sharing)
34     *      * integer overflow on LargeInt.minInt
35     * - ml-{lex,yacc} build scripts now use new mechanism
36     *   for building standalone programs
37     * - fixed several gcc -Wall warnings that were caused by missing header
38     *   files, missing initializations, etc., in runtime (not all warnings
39     *   eliminated, though)
40     *
41     * Revision 1.1.1.9.4.1  2000/02/20 14:44:33  blume
42     * CMB.deliver merged with CMB.make; runtime boot code made more flexible
43     *
44   * Revision 1.1.1.9  1999/12/07 15:40:25  monnier   * Revision 1.1.1.9  1999/12/07 15:40:25  monnier
45   * version 110.25   * version 110.25
46   *   *
# Line 24  Line 64 
64   *)   *)
65    
66  structure ExportLexGen : sig  structure ExportLexGen : sig
   
     val export : string -> unit  
67      val lexGen : (string * string list) -> OS.Process.status      val lexGen : (string * string list) -> OS.Process.status
   
68    end = struct    end = struct
69    
70      exception Interrupt      exception Interrupt
# Line 53  Line 90 
90      fun err msg = TextIO.output(TextIO.stdErr, String.concat msg)      fun err msg = TextIO.output(TextIO.stdErr, String.concat msg)
91    
92      fun lexGen (name, args) = let      fun lexGen (name, args) = let
93            fun lex_gen () = (case args          fun lex_gen () =
94                   of [] => (              case args of
95                        err [name, ": missing filename\n"];                  [] => (err [name, ": missing filename\n"];
96                        OS.Process.exit OS.Process.failure)                        OS.Process.exit OS.Process.failure)
97                    | files => List.app LexGen.lexGen files                    | files => List.app LexGen.lexGen files
                 (* end case *))  
98            in            in
99              (handleInterrupt lex_gen; OS.Process.success)              (handleInterrupt lex_gen; OS.Process.success)
100                handle Interrupt => (          handle Interrupt => (err [name, ": Interrupt\n"]; OS.Process.failure)
101                          err [name, ": Interrupt\n"];               | any => (err [name, ": uncaught exception ",
102                          OS.Process.failure)                              exnMessage any, "\n"];
                    | any => (  
                         err [  
                             name, ": uncaught exception ", exnMessage any, "\n"  
                           ];  
103                          OS.Process.failure)                          OS.Process.failure)
104            end            end
   
     fun export name = SMLofNJ.exportFn (name, lexGen);  
105    end    end

Legend:
Removed from v.498  
changed lines
  Added in v.651

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0