diff --git a/libwccl/ops/functions/bool/predicates/nor.h b/libwccl/ops/functions/bool/predicates/nor.h
index 7b78471489cb2498ead21d8eef78e14ad134f9f0..8cd592057fe8473a7cad847327609d5815a413d8 100644
--- a/libwccl/ops/functions/bool/predicates/nor.h
+++ b/libwccl/ops/functions/bool/predicates/nor.h
@@ -21,7 +21,7 @@ public:
 	 * @returns Name of the function: "not"
 	 */
 	std::string raw_name() const {
-		return "nor";
+		return "not";
 	}
 
 protected :
diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g
index bc576529b04eb89e700a4cf91204d20d017841b8..6047b7240b85420629b93e42a0f9d43c352b2e03 100644
--- a/libwccl/parser/grammar.g
+++ b/libwccl/parser/grammar.g
@@ -92,6 +92,21 @@ private:
 		return ret_ustr;
 	}
 	//
+	const std::string str_token_rem_grav(antlr::RefToken& rstr) const {
+		size_t len = 0;
+		std::string ret = token_ref_to_std_string(rstr);
+
+		if ((len = ret.length()) < 2) {
+			return ret;
+		}
+
+		if (ret[0] == '`' && ret[len - 1] == '`') {
+			return ret.substr(1, len - 2);
+		}
+
+		return ret;
+	}
+	//
 	const std::string token_ref_to_std_string(antlr::RefToken& rstr) const { 
 		return (((antlr::Token*)rstr)->getText());
 	}
@@ -187,7 +202,10 @@ str_set_literal
 {
 	s_set.reset(new Wccl::StrSet());
 }
-	: LBRACKET
+	: s0: STRING {
+			s_set->insert(str_token_ref_to_ustring(s0)); 
+		}
+	| LBRACKET
 	  ( s1: STRING {
 			s_set->insert(str_token_ref_to_ustring(s1)); 
 		}
@@ -217,7 +235,7 @@ sym_set_elem
 	[const Corpus2::Tagset& tagset, boost::shared_ptr<Wccl::TSet>& t_set]
 	: s1: SYMBOL {
 		try {
-			t_set->insert_symbol(tagset, token_ref_to_std_string(s1));
+			t_set->insert_symbol(tagset, str_token_rem_grav(s1));
 		}
 		catch(Corpus2::TagParseError &e) {
 			throw(ParserException(e.info()));
@@ -234,7 +252,8 @@ sym_set_literal
 {
 	t_set.reset(new Wccl::TSet());
 }
-	: LCURLY 
+	: sym_set_elem[tagset, t_set]
+	| LCURLY 
 	  ( sym_set_elem[tagset, t_set] (COMMA sym_set_elem[tagset, t_set])* )?
 	  RCURLY
 ;
@@ -328,10 +347,10 @@ position_variable_acc
 	[Wccl::Variables& vars] 
 	returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::Position> > pos_acc]
 	: POS_PREFIX n: SYMBOL { 
-		vars.get_put<Wccl::Position>(token_ref_to_std_string(n));
+		vars.get_put<Wccl::Position>(str_token_rem_grav(n));
 
 		Wccl::VariableAccessor<Wccl::Position> acc = 
-			vars.create_accessor<Wccl::Position>(token_ref_to_std_string(n));
+			vars.create_accessor<Wccl::Position>(str_token_rem_grav(n));
 
 		pos_acc.reset(new Wccl::VariableAccessor<Wccl::Position>(acc));
 	}
@@ -371,11 +390,11 @@ str_set_variable_acc
 	returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::StrSet> > strset_acc]
 	:	STR_PREFIX n: SYMBOL {
 		// get/put variable to variables
-		vars.get_put<Wccl::StrSet>(token_ref_to_std_string(n));
+		vars.get_put<Wccl::StrSet>(str_token_rem_grav(n));
 		
 		// makes accessor for value
 		Wccl::VariableAccessor<Wccl::StrSet> acc = 
-			vars.create_accessor<Wccl::StrSet>(token_ref_to_std_string(n));
+			vars.create_accessor<Wccl::StrSet>(str_token_rem_grav(n));
 
 		strset_acc.reset(new Wccl::VariableAccessor<Wccl::StrSet>(acc));
 	}
@@ -400,10 +419,10 @@ sym_set_variable_acc
 	[Wccl::Variables& vars] 
 	returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::TSet> > symset_acc]
 	: TST_PREFIX n: SYMBOL { 
-			vars.get_put<Wccl::TSet>(token_ref_to_std_string(n)); 	
+			vars.get_put<Wccl::TSet>(str_token_rem_grav(n)); 	
 
 			Wccl::VariableAccessor<Wccl::TSet> acc = 
-				vars.create_accessor<Wccl::TSet>(token_ref_to_std_string(n));
+				vars.create_accessor<Wccl::TSet>(str_token_rem_grav(n));
 
 			symset_acc.reset(new Wccl::VariableAccessor<Wccl::TSet>(acc));
 	}
@@ -428,10 +447,10 @@ boolean_variable_acc
 	[Wccl::Variables& vars] 
 	returns [boost::shared_ptr<Wccl::VariableAccessor<Wccl::Bool> > bool_acc]
 	: BOOL_PREFIX n: SYMBOL { 
-			vars.get_put<Wccl::Bool>(token_ref_to_std_string(n));
+			vars.get_put<Wccl::Bool>(str_token_rem_grav(n));
 
 			Wccl::VariableAccessor<Wccl::Bool> acc = 
-				vars.create_accessor<Wccl::Bool>(token_ref_to_std_string(n));
+				vars.create_accessor<Wccl::Bool>(str_token_rem_grav(n));
 
 			bool_acc.reset(new Wccl::VariableAccessor<Wccl::Bool>(acc));
 	}
@@ -1004,8 +1023,8 @@ STRING
 options {
 	paraphrase = "a string";
 }
-	: '"' (~'"')* '"'
-	| '\'' (~'\'')* '\''
+	: '"'! (~'"')* '"'!
+	| '\''! (~'\'')* '\''!
 ;
 
 SIGNED_INT