[Avida-SVN] r1754 - in development: Avida.xcodeproj source/script
brysonda at myxo.css.msu.edu
brysonda at myxo.css.msu.edu
Thu Jul 5 17:29:59 PDT 2007
Author: brysonda
Date: 2007-07-05 20:29:59 -0400 (Thu, 05 Jul 2007)
New Revision: 1754
Modified:
development/Avida.xcodeproj/project.pbxproj
development/source/script/cParser.cc
Log:
AS: IndexExpression.
Modified: development/Avida.xcodeproj/project.pbxproj
===================================================================
--- development/Avida.xcodeproj/project.pbxproj 2007-07-05 22:22:25 UTC (rev 1753)
+++ development/Avida.xcodeproj/project.pbxproj 2007-07-06 00:29:59 UTC (rev 1754)
@@ -187,6 +187,7 @@
70B1A75A0B7E431F00067486 /* experimental.org in CopyFiles */ = {isa = PBXBuildFile; fileRef = 70B1A7590B7E431F00067486 /* experimental.org */; };
70B6514F0BEA6FCC002472ED /* main.cc in Sources */ = {isa = PBXBuildFile; fileRef = 701EF27E0BEA5D2300DAE168 /* main.cc */; };
70B651B70BEA9AEC002472ED /* unit-tests in CopyFiles */ = {isa = PBXBuildFile; fileRef = 70B6514C0BEA6FAD002472ED /* unit-tests */; };
+ 70D046610C32EA90000614E7 /* cBirthChamber.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 702D4F3908DA61E2007BA469 /* cBirthChamber.h */; };
70DCAC9C097AF7C0002F8733 /* primitive.cc in Sources */ = {isa = PBXBuildFile; fileRef = 70DCAC9B097AF7C0002F8733 /* primitive.cc */; };
/* End PBXBuildFile section */
@@ -315,6 +316,7 @@
7049F3730A66AD7E00640512 /* default-transsmt.org in CopyFiles */,
70B1A7430B7E3FFD00067486 /* instset-experimental.cfg in CopyFiles */,
70B1A75A0B7E431F00067486 /* experimental.org in CopyFiles */,
+ 70D046610C32EA90000614E7 /* cBirthChamber.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Modified: development/source/script/cParser.cc
===================================================================
--- development/source/script/cParser.cc 2007-07-05 22:22:25 UTC (rev 1753)
+++ development/source/script/cParser.cc 2007-07-06 00:29:59 UTC (rev 1754)
@@ -69,7 +69,7 @@
expr: p0_expr
- p0_expr: p1_expr p6_expr_1
+ p0_expr: p1_expr p0_expr_1
p0_expr_1: ARR_RANGE p1_expr p0_expr_1
| ARR_EXPAN p1_expr p0_expr_1
@@ -95,7 +95,7 @@
| OP_GE p4_expr p3_expr_1
| OP_LT p4_expr p3_expr_1
| OP_GT p4_expr p3_expr_1
- | OP_NEQ p4_expr p4_expr_1
+ | OP_NEQ p4_expr p3_expr_1
|
@@ -304,9 +304,9 @@
}
switch (nextToken()) {
case IDX_OPEN:
- while (currentToken() == IDX_OPEN) {
+ do {
parseIndexExpression();
- }
+ } while (nextToken() == IDX_OPEN);
break;
case DOT:
continue;
@@ -316,9 +316,9 @@
}
break;
case IDX_OPEN:
- while (currentToken() == IDX_OPEN) {
+ do {
parseIndexExpression();
- }
+ } while (nextToken() == IDX_OPEN);
default:
PARSE_UNEXPECT();
@@ -349,6 +349,7 @@
cASTNode* cParser::parseExpression()
{
+
// @todo
return NULL;
}
@@ -522,8 +523,15 @@
cASTNode* cParser::parseIndexExpression()
{
- // @todo
- return NULL;
+ cASTNode* ie = NULL;
+
+ nextToken();
+ parseExpression();
+ if (currentToken() != IDX_CLOSE) {
+ PARSE_UNEXPECT();
+ }
+
+ return ie;
}
cASTNode* cParser::parseLooseBlock()
More information about the Avida-cvs
mailing list