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).