From f5beef74669e772ffe2a865cca0ac077c892ce13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <pawel.kedzia@pwr.wroc.pl>
Date: Thu, 25 Nov 2010 19:15:02 +0100
Subject: [PATCH] Fixed the conditional operators grammar. Added RBRACKET token
 to rules.

---
 libwccl/parser/grammar.g | 45 ++++++++++++++++++++--------------------
 1 file changed, 22 insertions(+), 23 deletions(-)

diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g
index 1ba11ff..5d2e454 100644
--- a/libwccl/parser/grammar.g
+++ b/libwccl/parser/grammar.g
@@ -224,7 +224,9 @@ sym_set_literal
 	t_set.reset(new Wccl::TSet());
 }
 	: LCURLY RCURLY
-	| LCURLY sym_set_elem[tagset, t_set] (COMMA sym_set_elem[tagset, t_set]) *
+	| LCURLY 
+			sym_set_elem[tagset, t_set] (COMMA sym_set_elem[tagset, t_set]) *
+		RCURLY
 ;
 // Constant symbol set
 // Returns boost::shared_ptr<Wccl::Constant<Wccl::TSet> >
@@ -519,7 +521,7 @@ condit_sym
 	: "if" LPAREN test  = logical_predicates [tagset, vars] COMMA 
 							p_true  = sym_set_operators  [tagset, vars] 
 							(COMMA p_false = sym_set_operators [tagset, vars])? 
-		{
+		RPAREN {
 			if (p_false) {
 				op.reset(new Wccl::Conditional<Wccl::TSet>(test, p_true, p_false));
 			}
@@ -528,9 +530,11 @@ condit_sym
 			}
 		}
 	| Q_MARK 
-			(p_true = sym_set_operators [tagset, vars] | p_true = condit_sym [tagset, vars])
+			(p_true = sym_set_operators [tagset, vars] | 
+			 p_true = condit_sym [tagset, vars])
 		Q_MARK 
-			(test = logical_predicates [tagset, vars] | test = condit_bool [tagset, vars])
+			(test = logical_predicates [tagset, vars] | 
+			 test = condit_bool [tagset, vars])
 		{
 			op.reset(new Wccl::Conditional<Wccl::TSet>(test, p_true));
 		}
@@ -622,7 +626,9 @@ op_affix
 {
 	boost::shared_ptr<Wccl::Function<Wccl::StrSet> > o_ret;
 }
-	: "affix" LPAREN o_ret = string_operators[tagset, vars] COMMA offset: INT RPAREN {
+	: "affix" LPAREN 
+			o_ret = string_operators[tagset, vars] COMMA 
+			offset: INT RPAREN {
 		ret.reset(new Wccl::Affix(o_ret, token_ref_to_int(offset)));
 	}
 ;
@@ -646,7 +652,7 @@ condit_str
 	: "if" LPAREN test  = logical_predicates [tagset, vars] COMMA 
 							p_true  = string_operators   [tagset, vars] 
 							(COMMA p_false = string_operators [tagset, vars])? 
-	{
+	RPAREN {
 		if (p_false) {
 			op.reset(new Wccl::Conditional<Wccl::StrSet>(test, p_true, p_false));
 		}
@@ -655,9 +661,11 @@ condit_str
 		}
 	}
 	| Q_MARK 
-			(p_true = string_operators [tagset, vars] | p_true = condit_str [tagset, vars])
+			(p_true = string_operators [tagset, vars] | 
+			 p_true = condit_str [tagset, vars])
 		Q_MARK 
-			(test = logical_predicates [tagset, vars] | test = condit_bool [tagset, vars])
+			(test = logical_predicates [tagset, vars] | 
+			 test = condit_bool [tagset, vars])
 		{
 			op.reset(new Wccl::Conditional<Wccl::StrSet>(test, p_true));
 		}
@@ -852,7 +860,7 @@ condit_bool
 	: "if" LPAREN test  = logical_predicates [tagset, vars] COMMA 
 							p_true  = logical_predicates [tagset, vars] 
 							(COMMA p_false = logical_predicates [tagset, vars])? 
-	{
+	RPAREN {
 		if (p_false) {
 			op.reset(new Wccl::Conditional<Wccl::Bool>(test, p_true, p_false));
 		}
@@ -861,9 +869,11 @@ condit_bool
 		}
 	}
 	| Q_MARK 
-			(p_true = logical_predicates [tagset, vars] | p_true = condit_bool [tagset, vars])
+			(p_true = logical_predicates [tagset, vars] | 
+			 p_true = condit_bool [tagset, vars])
 		Q_MARK 
-			(test = logical_predicates [tagset, vars] | test = condit_bool [tagset, vars])
+			(test = logical_predicates [tagset, vars] | 
+			 test = condit_bool [tagset, vars])
 		{
 			op.reset(new Wccl::Conditional<Wccl::Bool>(test, p_true));
 		}
@@ -878,8 +888,7 @@ class ANTLRLexer extends Lexer;
 options {
 	exportVocab    = ANTLRExpr;
 	charVocabulary = '\3'..'\377';
-//	testLiterals   = false;
-	k              = 4;
+	k              = 3;
 }
 
 STRING
@@ -1018,16 +1027,6 @@ options {
 	: '}' 
 ;
 
-/*
-DOLLAR 
-options {
-	paraphrase = "'$'";
-	testLiterals = true;
-} 
-	: '$' 
-;
-*/
-
 AT_MARK 
 options {
 	paraphrase = "'@'";
-- 
GitLab