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

SCM Repository

[smlnj] Annotation of /sml/trunk/src/cm/tools/mlyacc/tool.sml
ViewVC logotype

Annotation of /sml/trunk/src/cm/tools/mlyacc/tool.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 756 - (view) (download)

1 : blume 756 (*
2 :     * Running ML-Yacc from CM.
3 :     *
4 :     * (C) 1999 Lucent Technologies, Bell Laboratories
5 :     *
6 :     * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp)
7 :     *)
8 :     structure YaccTool = struct
9 :     local
10 :     val tool = "ML-Yacc"
11 :     val kw_sigopts = "sigoptions"
12 :     val kw_smlopts = "smloptions"
13 :     val kwl = [kw_sigopts, kw_smlopts]
14 :     (* This is a bit clumsy because we call parseOptions twice.
15 :     * However, this is not really such a big deal in practice... *)
16 :     fun get kw NONE = NONE
17 :     | get kw (SOME opts) =
18 :     #matches (Tools.parseOptions
19 :     { tool = tool, keywords = kwl, options = opts }) kw
20 :     in
21 :     val _ = Tools.registerStdShellCmdTool
22 :     { tool = tool,
23 :     class = "mlyacc",
24 :     suffixes = ["grm", "y"],
25 :     cmdStdPath = "ml-yacc",
26 :     template = NONE,
27 :     extensionStyle =
28 :     Tools.EXTEND [("sig", SOME "sml", get kw_sigopts),
29 :     ("sml", SOME "sml", get kw_smlopts)],
30 :     dflopts = [] }
31 :     end
32 :     end

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