Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-02-23 20:53:46 -0800 (Wed, 23 Feb 2005)
Revision: 6757
Log message:

      Added nested lexing to handle nested matching pairs.
      The syntax is:
      
         lex_token <lexer> : <left> <right> [--> <token>]
      
      So, a Caml-style nesting comment could be ignored as follows.
      
         lex_token mmc : "[(][*]" "[*][)]"
      
      Quotations are handled this way too.
      
         (*
          * arg1 is the start delimiter, arg2 is the end delimiter.
          * the default quotation is "term".
          *)
         lex_token mmc : "<<" ">>" --> tok_quotation{xquotation[arg1:s, lexeme:s]}
      
      The xquotations are expanded eagerly, at lex time.  They are still
      expanded as iforms, so you can always type them in directly if you want.
      
         iform parse_as_term : foo[q:s] <--> xquotation["term", q:s]
      

Changes  Path
+4 -2 metaprl/filter/base/filter_cache_fun.ml
+163 -58 metaprl/filter/base/filter_grammar.ml
+7 -3 metaprl/filter/base/filter_grammar.mli
+1 -1 metaprl/filter/base/filter_magic.ml
+2 -1 metaprl/filter/base/filter_summary_type.ml
+8 -1 metaprl/filter/base/filter_type.ml
+22 -10 metaprl/filter/filter/filter_parse.ml
+17 -11 metaprl/filter/filter/term_grammar.ml
+2 -9 metaprl/filter/filter/term_grammar.mli
+13 -1 metaprl/refiner/refiner/refiner_debug.ml
+3 -0 metaprl/refiner/refsig/term_op_sig.ml
+19 -0 metaprl/refiner/term_ds/term_op_ds.ml
+19 -0 metaprl/refiner/term_std/term_op_std.ml
+1 -1 metaprl/support/display/perv.mli
+6 -3 metaprl/support/shell/shell_state.ml
+8 -9 mpcompiler/mmc/arch/x86/mmc_x86_asm.mli
+3 -3 mpcompiler/mmc/arch/x86/mmc_x86_codegen.ml
+6 -6 mpcompiler/mmc/core/mmc_core_tast.mli