[Avida-SVN] r2408 - in development: source/script source/targets/avida-s tests/_asl_good_001_comment tests/_asl_good_002_variable tests/_asl_good_003_variable_set tests/_asl_good_004_basic_math tests/_asl_good_005_math_whitespace tests/_asl_good_006_math_longer tests/_asl_good_007_math_order_op tests/_asl_good_008_variable_types
brysonda at myxo.css.msu.edu
brysonda at myxo.css.msu.edu
Sun Mar 2 09:47:19 PST 2008
Author: brysonda
Date: 2008-03-02 12:47:19 -0500 (Sun, 02 Mar 2008)
New Revision: 2408
Modified:
development/source/script/AvidaScript.cc
development/source/script/AvidaScript.h
development/source/script/cLexer.l
development/source/script/cParser.cc
development/source/script/cSemanticASTVisitor.cc
development/source/targets/avida-s/main.cc
development/tests/_asl_good_001_comment/test_list
development/tests/_asl_good_002_variable/test_list
development/tests/_asl_good_003_variable_set/test_list
development/tests/_asl_good_004_basic_math/test_list
development/tests/_asl_good_005_math_whitespace/test_list
development/tests/_asl_good_006_math_longer/test_list
development/tests/_asl_good_007_math_order_op/test_list
development/tests/_asl_good_008_variable_types/test_list
Log:
AS: Fix tests. Add externally visible bool type.
Modified: development/source/script/AvidaScript.cc
===================================================================
--- development/source/script/AvidaScript.cc 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/source/script/AvidaScript.cc 2008-03-02 17:47:19 UTC (rev 2408)
@@ -57,6 +57,7 @@
{
switch (type) {
case AS_TYPE_ARRAY: return "array";
+ case AS_TYPE_BOOL: return "bool";
case AS_TYPE_CHAR: return "char";
case AS_TYPE_FLOAT: return "float";
case AS_TYPE_INT: return "int";
Modified: development/source/script/AvidaScript.h
===================================================================
--- development/source/script/AvidaScript.h 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/source/script/AvidaScript.h 2008-03-02 17:47:19 UTC (rev 2408)
@@ -61,7 +61,7 @@
AS_TOKEN_IDX_OPEN, // 26
AS_TOKEN_IDX_CLOSE,
- AS_TOKEN_ARR_OPEN, // 28
+ AS_TOKEN_ARR_OPEN, // 28Avida::Exit
AS_TOKEN_ARR_CLOSE,
AS_TOKEN_ARR_RANGE,
AS_TOKEN_ARR_EXPAN,
@@ -70,6 +70,7 @@
AS_TOKEN_MAT_MODIFY, // 33
AS_TOKEN_TYPE_ARRAY, // 34
+ AS_TOKEN_TYPE_BOOL,
AS_TOKEN_TYPE_CHAR,
AS_TOKEN_TYPE_FLOAT,
AS_TOKEN_TYPE_INT,
@@ -77,23 +78,24 @@
AS_TOKEN_TYPE_STRING,
AS_TOKEN_TYPE_VOID,
- AS_TOKEN_CMD_IF, // 41
+ AS_TOKEN_CMD_IF, // 42
AS_TOKEN_CMD_ELSE,
AS_TOKEN_CMD_ELSEIF,
AS_TOKEN_CMD_WHILE,
AS_TOKEN_CMD_FOREACH,
AS_TOKEN_CMD_FUNCTION,
- AS_TOKEN_CMD_RETURN, // 47
+ AS_TOKEN_CMD_RETURN, // 48
- AS_TOKEN_ID, // 48
+ AS_TOKEN_ID, // 49
- AS_TOKEN_FLOAT, // 49
+ AS_TOKEN_FLOAT, // 50
AS_TOKEN_INT,
AS_TOKEN_STRING,
AS_TOKEN_CHAR,
+ AS_TOKEN_BOOL,
- AS_TOKEN_UNKNOWN, // 53
+ AS_TOKEN_UNKNOWN, // 54
AS_TOKEN_INVALID
} ASToken_t;
Modified: development/source/script/cLexer.l
===================================================================
--- development/source/script/cLexer.l 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/source/script/cLexer.l 2008-03-02 17:47:19 UTC (rev 2408)
@@ -86,6 +86,7 @@
\$ return AS_TOKEN_MAT_MODIFY; // Matrix Modifier
array return AS_TOKEN_TYPE_ARRAY; // Built-in Types
+bool return AS_TOKEN_TYPE_BOOL;
char return AS_TOKEN_TYPE_CHAR;
float return AS_TOKEN_TYPE_FLOAT;
int return AS_TOKEN_TYPE_INT;
@@ -102,6 +103,9 @@
return return AS_TOKEN_CMD_RETURN;
+true return AS_TOKEN_BOOL;
+false return AS_TOKEN_BOOL;
+
([a-zA-Z]|_+[a-zA-Z])[a-zA-Z0-9_]* return AS_TOKEN_ID; // Identifiers
[0-9]*\.[0-9]+([eE][-+]?[0-9]+)? return AS_TOKEN_FLOAT; // Literal Values
Modified: development/source/script/cParser.cc
===================================================================
--- development/source/script/cParser.cc 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/source/script/cParser.cc 2008-03-02 17:47:19 UTC (rev 2408)
@@ -54,7 +54,7 @@
lineterm: SUPPRESS | ENDL
- type_def: TYPE_ARRAY | TYPE_CHAR | TYPE_FLOAT | TYPE_INT | TYPE_MATRIX | TYPE_STRING | ID REF
+ type_def: TYPE_ARRAY | TYPE_BOOL | TYPE_CHAR | TYPE_FLOAT | TYPE_INT | TYPE_MATRIX | TYPE_STRING | ID REF
type_any: type_def | TYPE_VOID
assign_expr: assign_dest ASSIGN expr
@@ -571,6 +571,9 @@
case TOKEN(CHAR):
expr.Set(new cASTLiteral(FILEPOS, AS_TYPE_CHAR, currentText()));
break;
+ case TOKEN(BOOL):
+ expr.Set(new cASTLiteral(FILEPOS, AS_TYPE_BOOL, currentText()));
+ break;
case TOKEN(STRING):
expr.Set(new cASTLiteral(FILEPOS, AS_TYPE_STRING, currentText()));
break;
@@ -634,6 +637,7 @@
ASType_t type = AS_TYPE_INVALID;
switch (nextToken()) {
case TOKEN(TYPE_ARRAY): type = AS_TYPE_ARRAY; break;
+ case TOKEN(TYPE_BOOL): type = AS_TYPE_BOOL; break;
case TOKEN(TYPE_CHAR): type = AS_TYPE_CHAR; break;
case TOKEN(TYPE_FLOAT): type = AS_TYPE_FLOAT; break;
case TOKEN(TYPE_INT): type = AS_TYPE_INT; break;
@@ -698,6 +702,7 @@
ASType_t type = AS_TYPE_INVALID;
switch (nextToken()) {
case TOKEN(TYPE_ARRAY): type = AS_TYPE_ARRAY; break;
+ case TOKEN(TYPE_BOOL): type = AS_TYPE_BOOL; break;
case TOKEN(TYPE_CHAR): type = AS_TYPE_CHAR; break;
case TOKEN(TYPE_FLOAT): type = AS_TYPE_FLOAT; break;
case TOKEN(TYPE_INT): type = AS_TYPE_INT; break;
@@ -863,6 +868,7 @@
case TOKEN(SUPPRESS):
continue;
case TOKEN(TYPE_ARRAY):
+ case TOKEN(TYPE_BOOL):
case TOKEN(TYPE_CHAR):
case TOKEN(TYPE_FLOAT):
case TOKEN(TYPE_INT):
@@ -901,6 +907,7 @@
ASType_t vtype = AS_TYPE_INVALID;
switch (currentToken()) {
case TOKEN(TYPE_ARRAY): vtype = AS_TYPE_ARRAY; break;
+ case TOKEN(TYPE_BOOL): vtype = AS_TYPE_BOOL; break;
case TOKEN(TYPE_CHAR): vtype = AS_TYPE_CHAR; break;
case TOKEN(TYPE_FLOAT): vtype = AS_TYPE_FLOAT; break;
case TOKEN(TYPE_INT): vtype = AS_TYPE_INT; break;
Modified: development/source/script/cSemanticASTVisitor.cc
===================================================================
--- development/source/script/cSemanticASTVisitor.cc 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/source/script/cSemanticASTVisitor.cc 2008-03-02 17:47:19 UTC (rev 2408)
@@ -560,12 +560,14 @@
void cSemanticASTVisitor::visitObjectCall(cASTObjectCall& node)
{
// @TODO - object call
+ SEMANTIC_ERROR(INTERNAL);
}
void cSemanticASTVisitor::visitObjectReference(cASTObjectReference& node)
{
// @TODO - object reference
+ SEMANTIC_ERROR(INTERNAL);
}
Modified: development/source/targets/avida-s/main.cc
===================================================================
--- development/source/targets/avida-s/main.cc 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/source/targets/avida-s/main.cc 2008-03-02 17:47:19 UTC (rev 2408)
@@ -60,7 +60,7 @@
Avida::Exit(0);
} else {
std::cout << "Parse Failed" << std::endl;
- Avida::Exit(1);
+ Avida::Exit(-1);
}
} else {
std::cerr << "error: unable to open script" << std::endl;
Modified: development/tests/_asl_good_001_comment/test_list
===================================================================
--- development/tests/_asl_good_001_comment/test_list 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/tests/_asl_good_001_comment/test_list 2008-03-02 17:47:19 UTC (rev 2408)
@@ -3,11 +3,7 @@
; Command line arguments to pass to the application
args =
app = %(builddir)s/work/avida-s
-nonzeroexit = disallow ; Exit code handling (disallow, allow, or require)
- ; disallow - treat non-zero exit codes as failures
- ; allow - all exit codes are acceptable
- ; require - treat zero exit codes as failures, useful
- ; for creating tests for app error checking
+nonzeroexit = disallow
createdby = David Bryson ; Who created the test
email = brysonda at egr.msu.edu ; Email address for the test's creator
Modified: development/tests/_asl_good_002_variable/test_list
===================================================================
--- development/tests/_asl_good_002_variable/test_list 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/tests/_asl_good_002_variable/test_list 2008-03-02 17:47:19 UTC (rev 2408)
@@ -3,11 +3,7 @@
; Command line arguments to pass to the application
args =
app = %(builddir)s/work/avida-s
-nonzeroexit = disallow ; Exit code handling (disallow, allow, or require)
- ; disallow - treat non-zero exit codes as failures
- ; allow - all exit codes are acceptable
- ; require - treat zero exit codes as failures, useful
- ; for creating tests for app error checking
+nonzeroexit = disallow
createdby = David Bryson ; Who created the test
email = brysonda at egr.msu.edu ; Email address for the test's creator
Modified: development/tests/_asl_good_003_variable_set/test_list
===================================================================
--- development/tests/_asl_good_003_variable_set/test_list 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/tests/_asl_good_003_variable_set/test_list 2008-03-02 17:47:19 UTC (rev 2408)
@@ -3,11 +3,7 @@
; Command line arguments to pass to the application
args =
app = %(builddir)s/work/avida-s
-nonzeroexit = disallow ; Exit code handling (disallow, allow, or require)
- ; disallow - treat non-zero exit codes as failures
- ; allow - all exit codes are acceptable
- ; require - treat zero exit codes as failures, useful
- ; for creating tests for app error checking
+nonzeroexit = disallow
createdby = David Bryson ; Who created the test
email = brysonda at egr.msu.edu ; Email address for the test's creator
Modified: development/tests/_asl_good_004_basic_math/test_list
===================================================================
--- development/tests/_asl_good_004_basic_math/test_list 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/tests/_asl_good_004_basic_math/test_list 2008-03-02 17:47:19 UTC (rev 2408)
@@ -3,11 +3,7 @@
; Command line arguments to pass to the application
args =
app = %(builddir)s/work/avida-s
-nonzeroexit = disallow ; Exit code handling (disallow, allow, or require)
- ; disallow - treat non-zero exit codes as failures
- ; allow - all exit codes are acceptable
- ; require - treat zero exit codes as failures, useful
- ; for creating tests for app error checking
+nonzeroexit = disallow
createdby = David Bryson ; Who created the test
email = brysonda at egr.msu.edu ; Email address for the test's creator
Modified: development/tests/_asl_good_005_math_whitespace/test_list
===================================================================
--- development/tests/_asl_good_005_math_whitespace/test_list 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/tests/_asl_good_005_math_whitespace/test_list 2008-03-02 17:47:19 UTC (rev 2408)
@@ -3,11 +3,7 @@
; Command line arguments to pass to the application
args =
app = %(builddir)s/work/avida-s
-nonzeroexit = disallow ; Exit code handling (disallow, allow, or require)
- ; disallow - treat non-zero exit codes as failures
- ; allow - all exit codes are acceptable
- ; require - treat zero exit codes as failures, useful
- ; for creating tests for app error checking
+nonzeroexit = disallow
createdby = David Bryson ; Who created the test
email = brysonda at egr.msu.edu ; Email address for the test's creator
Modified: development/tests/_asl_good_006_math_longer/test_list
===================================================================
--- development/tests/_asl_good_006_math_longer/test_list 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/tests/_asl_good_006_math_longer/test_list 2008-03-02 17:47:19 UTC (rev 2408)
@@ -3,11 +3,7 @@
; Command line arguments to pass to the application
args =
app = %(builddir)s/work/avida-s
-nonzeroexit = disallow ; Exit code handling (disallow, allow, or require)
- ; disallow - treat non-zero exit codes as failures
- ; allow - all exit codes are acceptable
- ; require - treat zero exit codes as failures, useful
- ; for creating tests for app error checking
+nonzeroexit = disallow
createdby = David Bryson ; Who created the test
email = brysonda at egr.msu.edu ; Email address for the test's creator
Modified: development/tests/_asl_good_007_math_order_op/test_list
===================================================================
--- development/tests/_asl_good_007_math_order_op/test_list 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/tests/_asl_good_007_math_order_op/test_list 2008-03-02 17:47:19 UTC (rev 2408)
@@ -3,11 +3,7 @@
; Command line arguments to pass to the application
args =
app = %(builddir)s/work/avida-s
-nonzeroexit = disallow ; Exit code handling (disallow, allow, or require)
- ; disallow - treat non-zero exit codes as failures
- ; allow - all exit codes are acceptable
- ; require - treat zero exit codes as failures, useful
- ; for creating tests for app error checking
+nonzeroexit = disallow
createdby = David Bryson ; Who created the test
email = brysonda at egr.msu.edu ; Email address for the test's creator
Modified: development/tests/_asl_good_008_variable_types/test_list
===================================================================
--- development/tests/_asl_good_008_variable_types/test_list 2008-03-02 00:50:52 UTC (rev 2407)
+++ development/tests/_asl_good_008_variable_types/test_list 2008-03-02 17:47:19 UTC (rev 2408)
@@ -3,11 +3,7 @@
; Command line arguments to pass to the application
args =
app = %(builddir)s/work/avida-s
-nonzeroexit = disallow ; Exit code handling (disallow, allow, or require)
- ; disallow - treat non-zero exit codes as failures
- ; allow - all exit codes are acceptable
- ; require - treat zero exit codes as failures, useful
- ; for creating tests for app error checking
+nonzeroexit = disallow
createdby = David Bryson ; Who created the test
email = brysonda at egr.msu.edu ; Email address for the test's creator
More information about the Avida-cvs
mailing list