about summary refs log tree commit diff
path: root/src/boot/fe/parser.ml
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2010-08-16 13:02:46 -0700
committerGraydon Hoare <graydon@mozilla.com>2010-08-16 13:02:46 -0700
commit7e62aa68018c94bcfc3fd6beab90cf7b87f91cbf (patch)
treead8091a45871afa2685ec65f6c841fb0c942becf /src/boot/fe/parser.ml
parent176899a970b5ccea7aea43bee31c9ee08860ab0f (diff)
downloadrust-7e62aa68018c94bcfc3fd6beab90cf7b87f91cbf.tar.gz
rust-7e62aa68018c94bcfc3fd6beab90cf7b87f91cbf.zip
Absent any deep overhauls to syntax or constant-handling, hack in the ability to project a cexp var binding to a token in the parser. Use it in comp/rustc.rc and comp/lib/llvm.rs.
Diffstat (limited to 'src/boot/fe/parser.ml')
-rw-r--r--src/boot/fe/parser.ml3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/boot/fe/parser.ml b/src/boot/fe/parser.ml
index ab7ff56c08d..4add7b01b0e 100644
--- a/src/boot/fe/parser.ml
+++ b/src/boot/fe/parser.ml
@@ -23,6 +23,7 @@ type pstate =
       pstate_node_id      : node_id ref;
       pstate_opaque_id    : opaque_id ref;
       pstate_get_mod      : get_mod_fn;
+      pstate_get_cenv_tok : pstate -> Ast.ident -> token;
       pstate_infer_lib_name : (Ast.ident -> filename);
       pstate_required       : (node_id, (required_lib * nabi_conv)) Hashtbl.t;
       pstate_required_syms  : (node_id, string) Hashtbl.t; }
@@ -45,6 +46,7 @@ let make_parser
     (oref:opaque_id ref)
     (sess:Session.sess)
     (get_mod:get_mod_fn)
+    (get_cenv_tok:pstate -> Ast.ident -> token)
     (infer_lib_name:Ast.ident -> filename)
     (required:(node_id, (required_lib * nabi_conv)) Hashtbl.t)
     (required_syms:(node_id, string) Hashtbl.t)
@@ -68,6 +70,7 @@ let make_parser
         pstate_node_id = nref;
         pstate_opaque_id = oref;
         pstate_get_mod = get_mod;
+        pstate_get_cenv_tok = get_cenv_tok;
         pstate_infer_lib_name = infer_lib_name;
         pstate_required = required;
         pstate_required_syms = required_syms; }