public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: tthomas@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Fix antlr warnings.
Date: Tue, 03 Jun 2008 19:50:00 -0000	[thread overview]
Message-ID: <20080603195042.31133.qmail@sourceware.org> (raw)

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


                 reply	other threads:[~2008-06-03 19:50 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080603195042.31133.qmail@sourceware.org \
    --to=tthomas@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).