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-yacc/src/export-yacc.sml
ViewVC logotype

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

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

revision 568, Tue Mar 7 03:59:09 2000 UTC revision 569, Tue Mar 7 04:01:07 2000 UTC
# Line 3  Line 3 
3   * ML-Yacc Parser Generator (c) 1991 Andrew W. Appel, David R. Tarditi   * ML-Yacc Parser Generator (c) 1991 Andrew W. Appel, David R. Tarditi
4   *   *
5   * $Log$   * $Log$
6     * Revision 1.2  2000/03/07 04:01:05  blume
7     * - size info in BOOTLIST
8     *      * no fixed upper limits for number of bootfiles or length of
9     *        bootfile names in runtime
10     *      * falling back to old behavior if no BOOTLIST size info found
11     * - allocation size heuristics in .run-sml
12     *      * tries to read cache size from /proc/cpuinfo (this is important for
13     *         small-cache Celeron systems!)
14     * - install.sh robustified
15     * - CM manual updates
16     * - paranoid mode
17     *      * no more CMB.deliver() (i.e., all done by CMB.make())
18     *      * can re-use existing sml.boot.* files
19     *      * init.cmi now treated as library
20     *      * library stamps for consistency checks
21     * - sml.boot.<arch>-<os>/PIDMAP file
22     *      * This file is read by the CM startup code.  This is used to minimize
23     *        the amount of dynamic state that needs to be stowed away for the
24     *        purpose of sharing between interactive system and user code.
25     * - CM.Anchor.anchor instead of CM.Anchor.{set,cancel}
26     *      * Upon request by Elsa.  Anchors now controlled by get-set-pair
27     *        like most other CM state variables.
28     * - Compiler.CMSA eliminated
29     *      * No longer supported by CM anyway.
30     * - fixed bugs in pickler that kept biting Stefan
31     *      * past refs to past refs (was caused by the possibility that
32     *        ad-hoc sharing is more discriminating than hash-cons sharing)
33     *      * integer overflow on LargeInt.minInt
34     * - ml-{lex,yacc} build scripts now use new mechanism
35     *   for building standalone programs
36     * - fixed several gcc -Wall warnings that were caused by missing header
37     *   files, missing initializations, etc., in runtime (not all warnings
38     *   eliminated, though)
39     *
40     * Revision 1.1.1.10.4.1  2000/02/20 14:44:34  blume
41     * CMB.deliver merged with CMB.make; runtime boot code made more flexible
42     *
43   * Revision 1.1.1.10  1999/04/17 18:56:11  monnier   * Revision 1.1.1.10  1999/04/17 18:56:11  monnier
44   * version 110.16   * version 110.16
45   *   *
# Line 29  Line 66 
66   *)   *)
67    
68  structure ExportParseGen : sig  structure ExportParseGen : sig
   
69      val parseGen : (string * string list) -> OS.Process.status      val parseGen : (string * string list) -> OS.Process.status
     val export : string -> unit  
   
70    end = struct    end = struct
71      fun err msg = TextIO.output (TextIO.stdErr, msg)      fun err msg = TextIO.output (TextIO.stdErr, msg)
72    
# Line 60  Line 94 
94      val exit = OS.Process.exit      val exit = OS.Process.exit
95    
96      fun parseGen (_, argv) = let      fun parseGen (_, argv) = let
97            fun parse_gen () = (case argv          fun parse_gen () =
98                   of [file] => (ParseGen.parseGen file; exit OS.Process.success)              case argv of
99                    | _ => (err("Usage: ml-yacc filename\n"); exit OS.Process.failure)                  [file] => (ParseGen.parseGen file; exit OS.Process.success)
100                  (* end case *))                | _ => (err("Usage: ml-yacc filename\n");
101                          exit OS.Process.failure)
102            in            in
103              (handleInterrupt parse_gen; OS.Process.success)              (handleInterrupt parse_gen; OS.Process.success)
104                handle Interrupt => OS.Process.failure                handle Interrupt => OS.Process.failure
105                     | ex => (               | ex => (err (String.concat ["? ml-yacc: uncaught exception ",
106                          err (String.concat[                                            exnMessage ex, "\n"]);
                             "? ml-yacc: uncaught exception ", exnMessage ex, "\n"  
                           ]);  
107                          OS.Process.failure)                          OS.Process.failure)
108            end            end
109    end
 fun export heap = SMLofNJ.exportFn(heap, parseGen);  
   
   end;  
   
   

Legend:
Removed from v.568  
changed lines
  Added in v.569

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