[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