public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Fix antlr warnings.
@ 2008-06-03 19:50 tthomas
  0 siblings, 0 replies; only message in thread
From: tthomas @ 2008-06-03 19:50 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  4cd7a853702c58f9b5037d8470d5b79adad712f1 (commit)
      from  e6a47641818cfc898f84505e7d1252e9c0f4a6b2 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 4cd7a853702c58f9b5037d8470d5b79adad712f1
Author: Teresa Thomas <tthomas@redhat.com>
Date:   Tue Jun 3 15:31:02 2008 -0400

    Fix antlr warnings.
    
    frysk-core/frysk/expr/ChangeLog:
    2008-05-03  Teresa Thomas  <tthomas@redhat.com>
    
    	* Expression.java(getType): Use CTypeEvaluator.type().
    	* CTypeEvaluator.g (typeCast): Delete,
    	Rename expr to type.
    	(MINUS): Remove ambiguity.
    	* CExprEvaluator.g (typeCast): Delete.
    	* CExpr.g (typeCast): Delete.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/expr/CExpr.g          |    8 +--
 frysk-core/frysk/expr/CExprEvaluator.g |   10 +--
 frysk-core/frysk/expr/CTypeEvaluator.g |  112 ++++++++++++++++----------------
 frysk-core/frysk/expr/ChangeLog        |   11 +++-
 frysk-core/frysk/expr/Expression.java  |    2 +-
 5 files changed, 73 insertions(+), 70 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/expr/CExpr.g b/frysk-core/frysk/expr/CExpr.g
index df1ea00..cf8e654 100644
--- a/frysk-core/frysk/expr/CExpr.g
+++ b/frysk-core/frysk/expr/CExpr.g
@@ -313,11 +313,11 @@ prefix_expression
         // new operators 
         // delete operators
     |   cast_expression
-    |   postfix_expression 
+    |   postfix_expression
     ;
     
 cast_expression! 
-    :  LPAREN tc:typeCast RPAREN expr:prefix_expression
+    :  LPAREN tc:primitiveType (STAR)? RPAREN expr:prefix_expression
        { ## = #([CAST, "Cast"], #tc, #expr);}
     ;
   
@@ -388,10 +388,6 @@ primitiveType
     |   "float"
     |   "double"
     ;
-    
-typeCast
-    :   primitiveType (STAR)?
-    ;   
 
 constant
     :   OCTALINT
diff --git a/frysk-core/frysk/expr/CExprEvaluator.g b/frysk-core/frysk/expr/CExprEvaluator.g
index 24f6f08..1aafee4 100644
--- a/frysk-core/frysk/expr/CExprEvaluator.g
+++ b/frysk-core/frysk/expr/CExprEvaluator.g
@@ -132,18 +132,14 @@ primitiveType
     |   "long"
     |   "float"
     |   "double"
-    ;
-        
-typeCast
-    :   primitiveType (STAR)?
-    ;        
+    ;      
 
 identifier returns [String idSpelling=null]
     :   ident:IDENT  {idSpelling=ident.getText();} ;
 
 expr returns [Value returnVar=null] 
 { Value v1, v2, v3, log_expr; String s1; }
-    :   #(PLUS  v1=expr v2=expr)  {	
+    :   #(PLUS v1=expr v2=expr)  { 
             returnVar = v1.getType().getALU(v2.getType(), 
                         exprSymTab.getWordSize())
                         .add(v1, v2);  
@@ -396,7 +392,7 @@ expr returns [Value returnVar=null]
                         exprSymTab.getWordSize())
                         .bitWiseOrEqual(v1, v2);
         }
-    |   #(CAST pt:typeCast v2=expr) { 	         
+    |   #(CAST pt:primitiveType v2=expr) {
 	    if(pt.getText().compareTo("long") == 0) {
 	      returnVar = longType.createValue(0);
               returnVar.assign(v2);
diff --git a/frysk-core/frysk/expr/CTypeEvaluator.g b/frysk-core/frysk/expr/CTypeEvaluator.g
index dd2a91d..010f22d 100644
--- a/frysk-core/frysk/expr/CTypeEvaluator.g
+++ b/frysk-core/frysk/expr/CTypeEvaluator.g
@@ -132,80 +132,82 @@ primitiveType
     |   "long"
     |   "float"
     |   "double"
-    ;
-        
-typeCast
-    :   primitiveType (STAR)?
-    ;        
+    ;  
 
 identifier returns [String idSpelling=null]
     :   ident:IDENT  {idSpelling=ident.getText();} ;
 
-expr returns [Type returnVar=null] 
-{ Type t1, t2; String s1;}
+type returns [Type returnVar=null] 
+{ Type t1, t2, t3; String s1;}
 
-    :   (   #(PLUS t1=expr t2=expr)
-          | #(MINUS t1=expr t2=expr)
-          | #(STAR t1=expr t2=expr)
-          | #(DIVIDE t1=expr t2=expr)
-          | #(MOD t1=expr t2=expr)
+    :   (   #(PLUS t1=type t2=type)
+          | #(STAR t1=type t2=type)
+          | #(DIVIDE t1=type t2=type)
+          | #(MOD t1=type t2=type)
         ) {	
              returnVar = t1.getALU(t2,
                          exprSymTab.getWordSize())
                          .getResultType();  
         }
-    |   (   #(SHIFTLEFT  t1=expr t2=expr) 
-          | #(SHIFTRIGHT  t1=expr t2=expr)
-          | #(AMPERSAND  t1=expr t2=expr)
-          | #(BITWISEXOR  t1=expr t2=expr)
-          | #(BITWISEOR  t1=expr t2=expr)
+    |   ( #(MINUS type type) )=> #(MINUS t1=type t2=type)  {
+            returnVar = t1.getALU(t2,
+                         exprSymTab.getWordSize())
+                         .getResultType();   
+        }       
+    |   #(MINUS t1=type ) {
+            returnVar = t1;
+        }        
+    |   (   #(SHIFTLEFT  t1=type t2=type) 
+          | #(SHIFTRIGHT  t1=type t2=type)
+          | #(AMPERSAND  t1=type t2=type)
+          | #(BITWISEXOR  t1=type t2=type)
+          | #(BITWISEOR  t1=type t2=type)
         ) {
              returnVar = t1.getALU(t2, 
                          exprSymTab.getWordSize())
                          .getResultType();  
         }
-    |   (   #(AND  t1=expr t2=expr) 
-          | #(OR  t1=expr t2=expr)   
-          | #(NOT  t1=expr )
+    |   (   #(AND  t1=type t2=type) 
+          | #(OR  t1=type t2=type)   
+          | #(NOT  t1=type )
         ) {
             returnVar = t1.getALU(exprSymTab.getWordSize())
                         .getIntResultType(); 
         }
-    |   (   #(LESSTHAN  t1=expr t2=expr) 
-          | #(GREATERTHAN  t1=expr t2=expr)
-          | #(LESSTHANOREQUALTO  t1=expr t2=expr)
-          | #(GREATERTHANOREQUALTO  t1=expr t2=expr)
-          | #(EQUAL  t1=expr t2=expr)
-          | #(NOTEQUAL  t1=expr t2=expr)
+    |   (   #(LESSTHAN  t1=type t2=type) 
+          | #(GREATERTHAN  t1=type t2=type)
+          | #(LESSTHANOREQUALTO  t1=type t2=type)
+          | #(GREATERTHANOREQUALTO  t1=type t2=type)
+          | #(EQUAL  t1=type t2=type)
+          | #(NOTEQUAL  t1=type t2=type)
         ) {
              returnVar = t1.getALU(t2, 
                          exprSymTab.getWordSize())
                          .getIntResultType();  
         }
-   |    #(ADDRESS_OF t1=expr ) {
+   |    #(ADDRESS_OF t1=type ) {
             PointerType pointerType = new PointerType
                                          ("*", ByteOrder.LITTLE_ENDIAN, 
                                           exprSymTab.getWordSize(), t1);
             returnVar = pointerType;
         }
-    |   #(MEMORY t1=expr ) {
+    |   #(MEMORY t1=type ) {
             returnVar = ((PointerType)t1).getType();
         } 
-    |   (   #(TILDE t1=expr) 
-          | #(ARITHMETIC_PLUS  t1=expr)
-          | #(ARITHMETIC_MINUS  t1=expr)
-          | #(MINUS t1=expr )
+    |   (   #(TILDE t1=type) 
+          | #(ARITHMETIC_PLUS  t1=type)
+          | #(ARITHMETIC_MINUS  t1=type)
         ) {
             returnVar = t1;
         }
-    |   (   #(PREINCREMENT t1=expr)  
-          | #(PREDECREMENT  t1=expr)
-          | #(POSTINCREMENT  t1=expr)
-          | #(POSTDECREMENT  t1=expr) 
+    |   (   #(PREINCREMENT t1=type)  
+          | #(PREDECREMENT  t1=type)
+          | #(POSTINCREMENT  t1=type)
+          | #(POSTDECREMENT  t1=type) 
         ) {
             returnVar = t1; 
         }
-    |   #(COND_EXPR expr t1=expr t2=expr) {
+    |   #(COND_EXPR t3=type t1=type t2=type) {
             // FIXME: Is this a good enough estimate of result
             // type without actually evaluating conditional
             // expressions?
@@ -226,21 +228,21 @@ expr returns [Type returnVar=null]
     |   DOUBLE  {
             returnVar = doubleType;
         }
-    |   (   #(ASSIGNEQUAL t1=expr t2=expr) 
-          | #(PLUSEQUAL t1=expr t2=expr)
-          | #(MINUSEQUAL t1=expr t2=expr)
-          | #(TIMESEQUAL t1=expr t2=expr)
-          | #(DIVIDEEQUAL t1=expr t2=expr)
-          | #(MODEQUAL t1=expr t2=expr)
-          | #(SHIFTLEFTEQUAL t1=expr t2=expr) 
-          | #(SHIFTRIGHTEQUAL t1=expr t2=expr) 
-          | #(BITWISEANDEQUAL t1=expr t2=expr) 
-          | #(BITWISEXOREQUAL t1=expr t2=expr) 
-          | #(BITWISEOREQUAL t1=expr t2=expr) 
+    |   (   #(ASSIGNEQUAL t1=type t2=type) 
+          | #(PLUSEQUAL t1=type t2=type)
+          | #(MINUSEQUAL t1=type t2=type)
+          | #(TIMESEQUAL t1=type t2=type)
+          | #(DIVIDEEQUAL t1=type t2=type)
+          | #(MODEQUAL t1=type t2=type)
+          | #(SHIFTLEFTEQUAL t1=type t2=type) 
+          | #(SHIFTRIGHTEQUAL t1=type t2=type) 
+          | #(BITWISEANDEQUAL t1=type t2=type) 
+          | #(BITWISEXOREQUAL t1=type t2=type) 
+          | #(BITWISEOREQUAL t1=type t2=type) 
         ) {
             returnVar = t1;
         }
-    |   #(CAST pt:typeCast t2=expr) { 	
+    |   #(CAST pt:primitiveType t2=type) { 	
   	      if(pt.getText().compareTo("long") == 0) {
 	        returnVar = longType;
 	      }
@@ -263,19 +265,19 @@ expr returns [Type returnVar=null]
 	        }
           }
         }
-    |   #(EXPR_LIST t1=expr) {
-            returnVar = t1;
+    |   #(EXPR_LIST t3=type) {
+            returnVar = t3;
         }  
-    |   #(SIZEOF t1=expr) {
+    |   #(SIZEOF t1=type) {
            returnVar = longType; 
         }    
-    |   #(INDEX t1=expr t2=expr) {
+    |   #(INDEX t1=type t2=type) {
             returnVar = t1.getType();
         }  
-    |   #(SLICE t1=expr t2=expr expr) {
+    |   #(SLICE t1=type t2=type t3=type) {
             returnVar = t1.getSliceType();
         }
-    |   #(MEMBER t1=expr s1=identifier) {
+    |   #(MEMBER t1=type s1=identifier) {
             returnVar = ((CompositeType)t1).getMemberType(s1);
         } 
     |   ident:IDENT  {
diff --git a/frysk-core/frysk/expr/ChangeLog b/frysk-core/frysk/expr/ChangeLog
index efbd0e7..89756bf 100644
--- a/frysk-core/frysk/expr/ChangeLog
+++ b/frysk-core/frysk/expr/ChangeLog
@@ -1,3 +1,12 @@
+2008-05-03  Teresa Thomas  <tthomas@redhat.com>
+
+	* Expression.java(getType): Use CTypeEvaluator.type().
+	* CTypeEvaluator.g (typeCast): Delete,
+	Rename expr to type.
+	(MINUS): Remove ambiguity.
+	* CExprEvaluator.g (typeCast): Delete.
+	* CExpr.g (typeCast): Delete.
+	
 2008-05-30  Petr Machata  <pmachata@redhat.com>
 
 	* FQIdentifier.java: Implement soname expansion and soname
@@ -20,7 +29,7 @@
 
 	* CExpr.g (PARSE_FQIDENT): Forbid empty string as symbol name.
 	* FqIdentToken.java (wantPlt): Publish.
-
+	
 2008-05-28  Petr Machata  <pmachata@redhat.com>
 
 	* FqIdentToken.java: New file.
diff --git a/frysk-core/frysk/expr/Expression.java b/frysk-core/frysk/expr/Expression.java
index 9432417..843498b 100644
--- a/frysk-core/frysk/expr/Expression.java
+++ b/frysk-core/frysk/expr/Expression.java
@@ -81,7 +81,7 @@ public class Expression {
      */
     public Type getType() {
 	try {
-	    return new CTypeEvaluator(symTab).expr(ast);
+	    return new CTypeEvaluator(symTab).type(ast);
 	} catch (antlr.RecognitionException r) {    
 	    throw new RuntimeException(r);
 	}  


hooks/post-receive
--
frysk system monitor/debugger


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-06-03 19:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-03 19:50 [SCM] master: Fix antlr warnings tthomas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).