Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-09-01 12:27:27 -0700 (Wed, 01 Sep 2004)
Revision: 6155
Log message:

      Added rewrites for closure of let recs.  Now need to write tactics.
      

Changes  Path
+79 -0 mpcompiler/mmc/core/mmc_core_closure.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-09-02 12:56:43 -0700 (Thu, 02 Sep 2004)
Revision: 6161
Log message:

      This is an initial start at an alternate form of parsing.
      See theories/mmc/test/mmc_grammar.ml for an example.
      This version is resource-based, but I've reached an issue.
      
      If parsing is resource-based, then it has to be delayed until
      runtime.  That isn't so bad, and it has the advantage of being
      able to use runtime values like precedences and conversions.
      
      However, the filter still has to participate a little, by handling
      special quotations.  Something like:
      
         <:parse< text >> --> Base_parser.parse "text"
      
      This doesn't really work--we need the resource that contains the grammar.
      
         <:parse< text >> --> Base_parser.parse (get_parser_resource ???) "text"
      
      The problem is the ???.
      It could be:
      
         let mark = gensym () in
            Mp_resource.set_bookmark mark;
            get_parser_resource (Mp_resource.find mark)
      
      However, it is obvious that Mp_resource was not designed for
      this kind of interaction.
      
      So, we either fix Mp_resource, or push this all back into the filter.
      
      I don't really like the latter option because we add another resource-like
      thing that the filter has to manage; we have to design a new syntax for it;
      filter_prog.ml gets even larger; and we have to marshal PDAs and such.
      

Changes  Path
+12 -1 metaprl/filter/filter/filter_parse.ml
+4 -2 metaprl/filter/filter/filter_prog.ml
+23 -9 metaprl/filter/filter/term_grammar.ml
+1 -0 metaprl/support/display/OMakefile
Added metaprl/support/display/base_parser.ml
Properties metaprl/support/display/base_parser.ml
Added metaprl/support/display/base_parser.mli
Properties metaprl/support/display/base_parser.mli
+1 -0 metaprl/theories/base/base_theory.mlz
+1 -0 mpcompiler/mmc/test/Files
Added mpcompiler/mmc/test/mmc_grammar.ml
Properties mpcompiler/mmc/test/mmc_grammar.ml
Added mpcompiler/mmc/test/mmc_grammar.mli
Properties mpcompiler/mmc/test/mmc_grammar.mli

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-09-02 17:27:55 -0700 (Thu, 02 Sep 2004)
Revision: 6162
Log message:

      Moving Jason's parser commit to the "new_parser" branch.
      

Changes  Path
+1 -12 metaprl/filter/filter/filter_parse.ml
+2 -4 metaprl/filter/filter/filter_prog.ml
+9 -23 metaprl/filter/filter/term_grammar.ml
+0 -1 metaprl/support/display/OMakefile
Deleted metaprl/support/display/base_parser.ml
Deleted metaprl/support/display/base_parser.mli
+0 -1 metaprl/theories/base/base_theory.mlz
+0 -1 mpcompiler/mmc/test/Files
Deleted mpcompiler/mmc/test/mmc_grammar.ml
Deleted mpcompiler/mmc/test/mmc_grammar.mli

Changes by: ( at unknown.email)
Date: 2004-09-02 17:27:55 -0700 (Thu, 02 Sep 2004)
Revision: 6163
Log message:

      This commit was manufactured by cvs2svn to create branch 'new_parser'.

Changes  Path
Copied metaprl-branches/new_parser
Copied mpcompiler-branches/new_parser
Copied texinputs-branches/new_parser
Deleted texinputs-branches/new_parser/1cm.sty
Deleted texinputs-branches/new_parser/1cml.sty
Deleted texinputs-branches/new_parser/Makefile
Deleted texinputs-branches/new_parser/Makefile-common
Deleted texinputs-branches/new_parser/PPR-macros.tex
Deleted texinputs-branches/new_parser/PPRmyppr.sty
Deleted texinputs-branches/new_parser/bcp.bib
Deleted texinputs-branches/new_parser/citlogo.eps
Deleted texinputs-branches/new_parser/citlogo2.eps
Deleted texinputs-branches/new_parser/config.ppr
Deleted texinputs-branches/new_parser/cornell-logo.eps
Deleted texinputs-branches/new_parser/dag50.eps
Deleted texinputs-branches/new_parser/der.tex
Deleted texinputs-branches/new_parser/gate.eps
Deleted texinputs-branches/new_parser/gate.pdf
Deleted texinputs-branches/new_parser/include.tex
Deleted texinputs-branches/new_parser/omscmsy.fd
Deleted texinputs-branches/new_parser/ot1cmr.fd
Deleted texinputs-branches/new_parser/ot1cmss.fd
Deleted texinputs-branches/new_parser/ot1lcmss.fd
Deleted texinputs-branches/new_parser/ot1lcmtt.fd
Deleted texinputs-branches/new_parser/pprpdf
Deleted texinputs-branches/new_parser/proof.sty
Deleted texinputs-branches/new_parser/slides-nogin.cls
Deleted texinputs-branches/new_parser/splncs.bst
Deleted texinputs-branches/new_parser/umsa.fd
Deleted texinputs-branches/new_parser/umsb.fd

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-09-04 13:47:21 -0700 (Sat, 04 Sep 2004)
Revision: 6173
Log message:

      Updated type checking rules for let rec to exploit our new ability to lift
      contexts into enclosing sequents.  Also reformulated it based on comments from
      Jason and Aleksey.
      
      This also includes a non-working tactic-based version of closure conversion.  I
      think it's sound but I haven't managed to make it work.  Really I just need to
      sort out the types and it will all be fine.  :-)
      

Changes  Path
+0 -4 mpcompiler/mmc/base/mmc_base_judgment.ml
+44 -7 mpcompiler/mmc/core/mmc_core_closure.ml
+19 -30 mpcompiler/mmc/core/mmc_core_type_check.ml
+1 -0 mpcompiler/mmc/core/mmc_core_type_check.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-09-04 16:05:44 -0700 (Sat, 04 Sep 2004)
Revision: 6175
Log message:

      Initial grammar.  See theories/mmc/test/mmc_grammar.ml for an example.
      

Changes  Path
+1 -1 metaprl-branches/new_parser/filter/base/Files
+4 -0 metaprl-branches/new_parser/filter/base/filter_cache_fun.ml
+14 -2 metaprl-branches/new_parser/filter/base/filter_grammar.ml
+12 -11 metaprl-branches/new_parser/filter/base/filter_grammar.mli
+1 -0 metaprl-branches/new_parser/filter/base/filter_summary_type.ml
+27 -18 metaprl-branches/new_parser/filter/filter/filter_parse.ml
+1 -0 mpcompiler-branches/new_parser/mmc/test/Files
Added mpcompiler-branches/new_parser/mmc/test/mmc_grammar.ml
Properties mpcompiler-branches/new_parser/mmc/test/mmc_grammar.ml
Added mpcompiler-branches/new_parser/mmc/test/mmc_grammar.mli
Properties mpcompiler-branches/new_parser/mmc/test/mmc_grammar.mli

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-09-05 10:00:08 -0700 (Sun, 05 Sep 2004)
Revision: 6176
Log message:

      Parser now rewrites in Relaxed mode so we can do capture and all that.
      

Changes  Path
+2 -1 metaprl-branches/new_parser/editor/emacs/caml.el
Binary metaprl-branches/new_parser/editor/emacs/caml.elc
+28 -22 metaprl-branches/new_parser/filter/base/filter_grammar.ml
+2 -1 metaprl-branches/new_parser/filter/base/filter_grammar.mli
+1 -1 metaprl-branches/new_parser/filter/base/filter_summary_type.ml
+25 -23 metaprl-branches/new_parser/filter/filter/filter_parse.ml
+2 -1 mpcompiler-branches/new_parser/mmc/test/Files
+30 -8 mpcompiler-branches/new_parser/mmc/test/mmc_grammar.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-09-05 10:01:52 -0700 (Sun, 05 Sep 2004)
Revision: 6177
Log message:

      Remove Mmc_grammar_test
      

Changes  Path
+1 -2 mpcompiler-branches/new_parser/mmc/test/Files

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-09-05 20:30:52 -0700 (Sun, 05 Sep 2004)
Revision: 6178
Log message:

      Added the grammar for MMC.
      
      This is in Mmc_core_ast, Mmc_ext_boolean, Mmc_ext_integer.
      
      We have 3 shift/reduce conflicts in the core grammar.  Somehow I'm
      having trouble turning on the debug flags, MP_DEBUG=parsegen doesn't
      seem to work, so I'll leave these conflicts for later.
      
      Also, defining grammars in the .mli file is a little awkward.
      Perhaps necessary, but I'm not sure.
      

Changes  Path
+8 -8 metaprl-branches/new_parser/OMakefile
+4 -5 metaprl-branches/new_parser/editor/emacs/caml.el
Binary metaprl-branches/new_parser/editor/emacs/caml.elc
+36 -21 metaprl-branches/new_parser/filter/base/filter_cache_fun.ml
+45 -24 metaprl-branches/new_parser/filter/base/filter_grammar.ml
+15 -9 metaprl-branches/new_parser/filter/base/filter_grammar.mli
+7 -6 metaprl-branches/new_parser/filter/base/filter_summary_type.ml
+46 -15 metaprl-branches/new_parser/filter/filter/filter_parse.ml
+1 -1 metaprl-branches/new_parser/filter/filter/filter_prog.ml
+3 -0 metaprl-branches/new_parser/refiner/refsig/term_shape_sig.ml
+21 -45 metaprl-branches/new_parser/refiner/term_gen/term_shape_gen.ml
+2 -4 metaprl-branches/new_parser/support/shell/package_info.ml
+2 -2 mpcompiler-branches/new_parser/mmc/OMakefile
+1 -0 mpcompiler-branches/new_parser/mmc/core/Files
+37 -0 mpcompiler-branches/new_parser/mmc/core/mmc_core_ast.ml
+115 -0 mpcompiler-branches/new_parser/mmc/core/mmc_core_ast.mli
Added mpcompiler-branches/new_parser/mmc/core/mmc_core_grammar.ml
Properties mpcompiler-branches/new_parser/mmc/core/mmc_core_grammar.ml
Added mpcompiler-branches/new_parser/mmc/core/mmc_core_grammar.mli
Properties mpcompiler-branches/new_parser/mmc/core/mmc_core_grammar.mli
+10 -0 mpcompiler-branches/new_parser/mmc/extensions/bool/mmc_ext_bool.ml
+29 -0 mpcompiler-branches/new_parser/mmc/extensions/bool/mmc_ext_bool.mli
+17 -0 mpcompiler-branches/new_parser/mmc/extensions/int/mmc_ext_int.ml
+67 -0 mpcompiler-branches/new_parser/mmc/extensions/int/mmc_ext_int.mli
+1 -0 mpcompiler-branches/new_parser/mmc/extensions/operator/mmc_ext_operator.mli
+97 -51 mpcompiler-branches/new_parser/mmc/test/mmc_grammar.ml

Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2004-09-06 16:07:21 -0700 (Mon, 06 Sep 2004)
Revision: 6181
Log message:

      Added the builtin grammar.  To use it, use the quotation
      <:mmc< ... >> instead of <:ext< ... >>.  The syntax should
      be identical to the Phobos syntax at the moment.
      
      Some important files:
         core/mmc_core_grammar.mli : defines the <:mmc< ... >> start
            symbol, but doesn't do much except skip whitespace.
         core/mmc_core_ast.mli : defines the core grammar
         ext/mmc_ext_binary.mli : defines the grammar for Booleans,
           &&, ||, and conditionals.
         ext/mmc_ext_integer.mli : defines the grammar for integers,
           binary operators, and binary relations.
      
      You should be able to use a quotation anywhere.
      
      Except in the toploop:)  I'll fix that in a moment.
      

Changes  Path
Properties mpcompiler-branches/new_parser/mmc
+29 -26 mpcompiler-branches/new_parser/mmc/core/mmc_core_ast.mli
+2 -1 mpcompiler-branches/new_parser/mmc/core/mmc_core_grammar.ml
+4 -3 mpcompiler-branches/new_parser/mmc/core/mmc_core_grammar.mli
+2 -1 mpcompiler-branches/new_parser/mmc/extensions/int/mmc_ext_int.mli
+8 -111 mpcompiler-branches/new_parser/mmc/test/mmc_grammar.ml
+10 -10 mpcompiler-branches/new_parser/mmc/test/mmc_int_test.ml

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-09-12 18:26:51 -0700 (Sun, 12 Sep 2004)
Revision: 6190
Log message:

      Reworked so the tactic-based version compiles.  Still doesn't work.
      

Changes  Path
+28 -24 mpcompiler/mmc/core/mmc_core_closure.ml

Changes by: Nathaniel Gray (n8gray at caltech.edu)
Date: 2004-09-21 16:50:32 -0700 (Tue, 21 Sep 2004)
Revision: 6205
Log message:

      Closure conversion and CPS probably work now, but it looks like closure is
      either exponential or I've got an infinite loop in there somewhere...
      

Changes  Path
+100 -58 mpcompiler/mmc/core/mmc_core_closure.ml
+31 -1 mpcompiler/mmc/core/mmc_core_cps.ml
+3 -0 mpcompiler/mmc/core/mmc_core_tast.ml
+13 -0 mpcompiler/mmc/test/mmc_int_test.ml

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-09-24 17:02:03 -0700 (Fri, 24 Sep 2004)
Revision: 6207
Log message:

      Make sure that .omc files in MMC get cleaned up properly on "omake clean".
      

Changes  Path
+3 -1 mpcompiler/mmc/OMakefile
Deleted mpcompiler/mmc/arch/x86/OMakefile

Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-09-24 17:13:42 -0700 (Fri, 24 Sep 2004)
Revision: 6208
Log message:

      - Remove references to .cmig/.cmog since they are no longer used.
      - Backport the "omake clean" .omc fix from the trunk.
      

Changes  Path
+1 -1 metaprl-branches/new_parser/filter/base/filter_cache_fun.ml
+5 -3 mpcompiler-branches/new_parser/mmc/OMakefile
Deleted mpcompiler-branches/new_parser/mmc/arch/x86/OMakefile