Hey Rafael,

Thanks for pointing this out. This has been fixed now. 

Thanks,
Sudha.

>>> Rafael Teixeira <[EMAIL PROTECTED]> 03/21/05 11:19 PM >>>
Sathya,

It seems the rules added to support the LIKE operator in your latest
commit are giving recursive problems, as jay tell us:

make[1]: Entering directory `/home/rafael/source/cli/mcs/mbas'
../jay/jay -ctv <../jay/skeleton.cs mb-parser.jay >mb-parser.cs
../jay/jay: 358 shift/reduce conflicts, 154 reduce/reduce conflicts.

reduce/reduce conflicts normally make lots of false errors appear
while parsing, but it doesn't show up in my limited testing
(Test/misc).

I hope you can shortly bring those numbers down.

Sorry if I can't jump in to help just now. 

My advice is to look carefully at the y.output file to see what is
happenning. Probably your new rules are colliding with the way the
other rules deal with the end-of-statement part.

Fun,

-- 
Rafael "Monoman" Teixeira
---------------------------------------
I'm trying to become a "Rosh Gadol" before my own eyes. 
See http://www.joelonsoftware.com/items/2004/12/06.html for
enlightment.
It hurts!
_______________________________________________
Mono-vb mailing list
[email protected] 
http://lists.ximian.com/mailman/listinfo/mono-vb
--- Begin Message ---
Author: sudha
Date: 2005-03-22 04:51:00 -0500 (Tue, 22 Mar 2005)
New Revision: 42073

Modified:
   trunk/mcs/mbas/ChangeLog
   trunk/mcs/mbas/mb-parser.jay
Log:
Patch for reducing conflicts in grammar - by Sudharsan V


Modified: trunk/mcs/mbas/ChangeLog
===================================================================
--- trunk/mcs/mbas/ChangeLog    2005-03-22 09:45:46 UTC (rev 42072)
+++ trunk/mcs/mbas/ChangeLog    2005-03-22 09:51:00 UTC (rev 42073)
@@ -1,3 +1,8 @@
+2005-03-22 Satya Sudha K <[EMAIL PROTECTED]>
+          Sudharsan V <[EMAIL PROTECTED]>
+       * mb-parser.jay : 
+                       Removed some conflicts in the grammar
+
 2005-03-21 Manjula GHM <[EMAIL PROTECTED]>
        * statement.cs: Implementation of 'End' Statement which terminates 
execution immediately
 

Modified: trunk/mcs/mbas/mb-parser.jay
===================================================================
--- trunk/mcs/mbas/mb-parser.jay        2005-03-22 09:45:46 UTC (rev 42072)
+++ trunk/mcs/mbas/mb-parser.jay        2005-03-22 09:51:00 UTC (rev 42073)
@@ -866,20 +866,20 @@
        : /* empty */   { $$ = Parameters.EmptyReadOnlyParameters; }
        | OPEN_PARENS CLOSE_PARENS      { $$ = 
Parameters.EmptyReadOnlyParameters; }
        | OPEN_PARENS _mark_ opt_formal_parameter_list CLOSE_PARENS     { $$ = 
$3; }
-       | OPEN_PARENS _mark_
+       | OPEN_PARENS _mark_ error
          {
                Report.Error(30203,(Location)$2, "Identifier Expected"); 
                $$ = Parameters.EmptyReadOnlyParameters;
          }
-       | OPEN_PARENS _mark_ opt_formal_parameter_list 
+       | OPEN_PARENS _mark_ opt_formal_parameter_list error
          {
                Report.Error(30198,(Location)$2, "'(' is not having a matching 
')'"); 
                $$ = $3;
          }
-       | _mark_ opt_formal_parameter_list CLOSE_PARENS 
+       | error _mark_ opt_formal_parameter_list CLOSE_PARENS 
          {
-               Report.Error(30205,(Location)$1, "')' is not having a matching 
'('"); 
-               $$ = $2;
+               Report.Error(30205,(Location)$2, "')' is not having a matching 
'('"); 
+               $$ = $3;
          }
        ;
 
@@ -3357,12 +3357,12 @@
         {
                 $$ = new DictionaryEntry ($4, $1); 
        }
-       | _mark_ AS type
+       | error _mark_ AS type
        {
-               Report.Error(30203, (Location)$1, "Identifier Expected");
+               Report.Error(30203, (Location)$2, "Identifier Expected");
                $$ = null;
        }
-       | identifier AS _mark_   
+       | identifier AS _mark_ error  
        {
                Report.Error(30182, (Location)$3, "Type Expected");
                $$ = null;
@@ -4414,9 +4414,8 @@
        //| element_access
        | new_expression
        | cast_expression
-       | /*empty*/ _mark_ 
-                                            { 
Report.Error(30201,(Location)$1,"Expression expected"); $$ = (Expression)null;}
-                             
+       | error _mark_ 
+            { Report.Error(30201,(Location)$2,"Expression expected"); $$ = 
(Expression)null;}
        ;
 
 literal
@@ -4768,10 +4767,10 @@
 
 relational_expression
        : shift_expression
-       | relational_expression _mark_ LIKE shift_expression
+       | relational_expression LIKE _mark_ shift_expression
          {
                $$ = new Binary (Binary.Operator.Like,
-                                (Expression) $1, (Expression) $4, 
(Location)$2);
+                                (Expression) $1, (Expression) $4, 
(Location)$3);
          }
        | relational_expression ASSIGN _mark_ shift_expression
          {
@@ -5156,8 +5155,6 @@
          {$$ = 1;}
        | LOOP
          {$$ = 2;}
-       | /* empty */ 
-         {$$ = 0;} 
        ;
 
 opt_block_types

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

--- End Message ---

Reply via email to