diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g
index 998e823e330625a7131e946742465a924a79acad..376de76f7c442bc3b23bcd5effa3d3b4cad3552a 100644
--- a/libwccl/parser/grammar.g
+++ b/libwccl/parser/grammar.g
@@ -248,7 +248,7 @@ parse_match_rule
 	returns [boost::shared_ptr<Expression> ret_match]
 {
 	Variables vars;
-	vars.get_put<Match>("$m:_M");
+	vars.get_put<Match>("_M");
 }
 	: ret_match = match_rule_operator[tagset, vars] 
 ;
@@ -644,7 +644,7 @@ symset_operator
 	[const Corpus2::Tagset& tagset, Variables& vars]
 	returns [boost::shared_ptr<Function<TSet> > ret]
 	: ret = symset_condition [tagset, vars]
-	| (SYMBOL LBRACKET) => (ret = symset_getsymbol [tagset, vars])
+	| {LA(1)==SYMBOL && LA(2)==LBRACKET}? (ret = symset_getsymbol [tagset, vars])
 	| ret = symset_var_val [tagset, vars]
 	| ret = symset_class   [tagset, vars]
 	| ret = symset_range   [tagset, vars]
@@ -1718,7 +1718,7 @@ match_apply_operator
 	[const Corpus2::Tagset& tagset, Variables& vars]
 	returns [boost::shared_ptr<ApplyOperator> ret_op]
 {
-	VariableAccessor<Match> matches = vars.create_accessor<Match>("$m:_M");;
+	VariableAccessor<Match> matches = vars.create_accessor<Match>("_M");;
 	boost::shared_ptr<const MatchOperator> match_op;
 	boost::shared_ptr<std::vector<boost::shared_ptr<MatchAction> > > actions;
 	boost::shared_ptr<std::vector<boost::shared_ptr<Function<Bool> > > > conditions;