address review comments
diff --git a/asterix-app/src/test/resources/runtimets/queries/distinct/query-issue443-2/query-issue443-2.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/distinct/query-issue443-2/query-issue443-2.3.query.aql
index 6a173ba..eee12d3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/distinct/query-issue443-2/query-issue443-2.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/distinct/query-issue443-2/query-issue443-2.3.query.aql
@@ -1,7 +1,7 @@
 /*
  * Description  : This test case is to verify the fix for issue443
  * https://code.google.com/p/asterixdb/issues/detail?id=443
- * Expected Res : Fail
+ * Expected Res : Success
  * Date         : 22th May 2013
  */
 
diff --git a/asterix-aql/src/main/javacc/AQL.jj b/asterix-aql/src/main/javacc/AQL.jj
index f7b5f75..cb6336b 100644
--- a/asterix-aql/src/main/javacc/AQL.jj
+++ b/asterix-aql/src/main/javacc/AQL.jj
@@ -2067,420 +2067,170 @@
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-   <ASC : "asc">
+    <ASC : "asc">
+  | <AT : "at">
+  | <BY : "by">
+  | <DATASET : "dataset">
+  | <DECOR : "decor">
+  | <DESC : "desc">
+  | <DISTINCT : "distinct">
+  | <ELSE : "else">
+  | <EVERY : "every">
+  | <FOR : "for">
+  | <GROUP : "group">
+  | <IF : "if">
+  | <IN : "in">
+  | <LET : "let">
+  | <LIMIT : "limit">
+  | <OFFSET : "offset">
+  | <ORDER : "order">
+  | <RETURN : "return">
+  | <SATISFIES : "satisfies">
+  | <SOME : "some">
+  | <THEN : "then">
+  | <UNION : "union">
+  | <WHERE : "where">
+  | <WITH : "with">
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-   <AT : "at">
+    <CARET : "^">
+  | <DIV : "/">
+  | <IDIV : "idiv">
+  | <MINUS : "-">
+  | <MOD : "%">
+  | <MUL : "*">
+  | <PLUS : "+">
+
+  | <LEFTPAREN : "(">
+  | <RIGHTPAREN : ")">
+  | <LEFTBRACKET : "[">
+  | <RIGHTBRACKET : "]">
+
+  | <COLON : ":">
+  | <COMMA : ",">
+  | <DOT : ".">
+  | <QUES : "?">
+
+  | <LT : "<">
+  | <GT : ">">
+  | <LE : "<=">
+  | <GE : ">=">
+  | <EQ : "=">
+  | <NE : "!=">
+  | <SIMILAR : "~=">
+  | <ASSIGN : ":=">
+
+  | <AND : "and">
+  | <OR : "or">
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-   <BY : "by">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <DATASET : "dataset">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <DECOR : "decor">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <DESC : "desc">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <DISTINCT : "distinct">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <ELSE : "else">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <EVERY : "every">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <FOR : "for">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <GROUP : "group">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <IF : "if">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <IN : "in">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <LET : "let">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <LIMIT : "limit">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <OFFSET : "offset">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <ORDER : "order">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <RETURN : "return">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <SATISFIES : "satisfies">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <SOME : "some">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <THEN : "then">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <UNION : "union">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <WHERE : "where">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <WITH : "with">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <CARET : "^">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <DIV : "/">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <IDIV : "idiv">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <MOD : "%">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <MUL : "*">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <LEFTPAREN : "("  >
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <RIGHTPAREN : ")"  >
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <LEFTBRACKET : "["  >
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <RIGHTBRACKET : "]"  >
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <LEFTBRACE : "{"> { pushState(); } : DEFAULT
+    <LEFTBRACE : "{"> { pushState(); } : DEFAULT
 }
 
 <DEFAULT>
 TOKEN :
 {
-   <RIGHTBRACE : "}"> { popState(); }
+    <RIGHTBRACE : "}"> { popState(); }
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-   <LEFTDBLBRACE : "{{"> { pushState(); } : IN_DBL_BRACE
+    <LEFTDBLBRACE : "{{"> { pushState(); } : IN_DBL_BRACE
 }
 
 <IN_DBL_BRACE>
 TOKEN :
 {
-   <RIGHTDBLBRACE : "}}"> { popState(); }
+    <RIGHTDBLBRACE : "}}"> { popState(); }
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-   <COMMA : ",">
+    <INTEGER_LITERAL : (<DIGIT>)+ >
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-   <DOT : ".">
+    <NULL : "null">
+  | <TRUE : "true">
+  | <FALSE : "false">
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-   <PLUS : "+">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <MINUS : "-">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <COLON : ":">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <QUES : "?">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <LT : "<">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <GT : ">">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <LE : "<=">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <GE : ">=">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <EQ : "=">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <NE : "!=">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <SIMILAR : "~=">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <ASSIGN : ":=">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <OR : "or">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-   <AND : "and">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-	<INTEGER_LITERAL : (<DIGIT>)+ >
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-	<NULL : "null">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-	<TRUE : "true">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-	<FALSE : "false">
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-	<#DIGIT : ["0" - "9"]>
+    <#DIGIT : ["0" - "9"]>
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN:
 {
-  < DOUBLE_LITERAL: <DIGITS>
+    < DOUBLE_LITERAL: <DIGITS>
         | <DIGITS> ( "." <DIGITS> )?
         | "." <DIGITS>
-  >
-  |
-  < FLOAT_LITERAL: <DIGITS> ( "f" | "F" )
+    >
+  | < FLOAT_LITERAL: <DIGITS> ( "f" | "F" )
         | <DIGITS> ( "." <DIGITS> ( "f" | "F" ) )?
         | "." <DIGITS> ( "f" | "F" )
-  >
-  |
-  <DIGITS : (<DIGIT>)+ >
+    >
+  | <DIGITS : (<DIGIT>)+ >
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-	<#LETTER : ["A" - "Z", "a" - "z"]>
+    <#LETTER : ["A" - "Z", "a" - "z"]>
+  | <SPECIALCHARS : ["$", "_", "-"]>
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-	<SPECIALCHARS : ["$", "_", "-"]  >
+    <STRING_LITERAL : ("\"" (<EscapeQuot> | ~["\""])* "\"") | ("\'"(<EscapeApos> | ~["\'"])* "\'")>
+  | < #EscapeQuot: "\\\"" >
+  | < #EscapeApos: "\\\'" >
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-	<STRING_LITERAL : ("\"" (<EscapeQuot> | ~["\""])* "\"") | ("\'"(<EscapeApos> | ~["\'"])* "\'")>
-	|
-	< #EscapeQuot: "\\\"" >
-	|
-    < #EscapeApos: "\\\'" >
+    <IDENTIFIER : <LETTER> (<LETTER> | <DIGIT> | <SPECIALCHARS>)*>
 }
 
 <DEFAULT,IN_DBL_BRACE>
 TOKEN :
 {
-	<IDENTIFIER : <LETTER> (<LETTER> | <DIGIT> | <SPECIALCHARS>)*>
-}
-
-<DEFAULT,IN_DBL_BRACE>
-TOKEN :
-{
-	<VARIABLE : "$" <LETTER> (<LETTER> | <DIGIT> | "_")*>
+    <VARIABLE : "$" <LETTER> (<LETTER> | <DIGIT> | "_")*>
 }
 
 <DEFAULT,IN_DBL_BRACE>
 SKIP:
 {
     " "
-|   "\t"
-|   "\r"
-|   "\n"
+  | "\t"
+  | "\r"
+  | "\n"
 }
 
 <DEFAULT,IN_DBL_BRACE>
 SKIP:
 {
-	<"//" (~["\n"])* "\n">
+    <"//" (~["\n"])* "\n">
 }
 
 <DEFAULT,IN_DBL_BRACE>
 SKIP:
 {
-	<"//" (~["\n","\r"])* ("\n"|"\r"|"\r\n")?> 
+    <"//" (~["\n","\r"])* ("\n"|"\r"|"\r\n")?> 
 }
 
 <DEFAULT,IN_DBL_BRACE>
@@ -2492,7 +2242,7 @@
 <INSIDE_COMMENT>
 SPECIAL_TOKEN:
 {
-   <"+"(" ")*(~["*"])*>
+    <"+"(" ")*(~["*"])*>
 }
 
 <INSIDE_COMMENT>
@@ -2505,5 +2255,5 @@
 SKIP:
 {
     <"*/"> { popState(); }
-|   <~[]>
+  | <~[]>
 }