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