From 584f9b24c7021b17961c7a2de6dc25ab03629645 Mon Sep 17 00:00:00 2001 From: hellerve Date: Mon, 30 Apr 2018 16:41:12 +0200 Subject: [PATCH] evaluator: add simple no-op evaluator and tests --- src/Phsyche.package/Phsyche.class/instance/eval..st | 3 +++ src/Phsyche.package/Phsyche.class/instance/eval.in..st | 3 +++ src/Phsyche.package/Phsyche.class/instance/parseAndEval..st | 3 +++ .../PhsycheTest.class/instance/testEvalBoolean.st | 4 ++++ .../PhsycheTest.class/instance/testEvalEmptyList.st | 3 +++ .../PhsycheTest.class/instance/testEvalNumber.st | 4 ++++ 6 files changed, 20 insertions(+) create mode 100644 src/Phsyche.package/Phsyche.class/instance/eval..st create mode 100644 src/Phsyche.package/Phsyche.class/instance/eval.in..st create mode 100644 src/Phsyche.package/Phsyche.class/instance/parseAndEval..st create mode 100644 src/Phsyche.package/PhsycheTest.class/instance/testEvalBoolean.st create mode 100644 src/Phsyche.package/PhsycheTest.class/instance/testEvalEmptyList.st create mode 100644 src/Phsyche.package/PhsycheTest.class/instance/testEvalNumber.st diff --git a/src/Phsyche.package/Phsyche.class/instance/eval..st b/src/Phsyche.package/Phsyche.class/instance/eval..st new file mode 100644 index 0000000..e86f908 --- /dev/null +++ b/src/Phsyche.package/Phsyche.class/instance/eval..st @@ -0,0 +1,3 @@ +as yet unclassified +eval: expression + ^ self eval: expression in: nil \ No newline at end of file diff --git a/src/Phsyche.package/Phsyche.class/instance/eval.in..st b/src/Phsyche.package/Phsyche.class/instance/eval.in..st new file mode 100644 index 0000000..d563e43 --- /dev/null +++ b/src/Phsyche.package/Phsyche.class/instance/eval.in..st @@ -0,0 +1,3 @@ +as yet unclassified +eval: expression in: anEnvironment + ^ expression \ No newline at end of file diff --git a/src/Phsyche.package/Phsyche.class/instance/parseAndEval..st b/src/Phsyche.package/Phsyche.class/instance/parseAndEval..st new file mode 100644 index 0000000..7d85bf1 --- /dev/null +++ b/src/Phsyche.package/Phsyche.class/instance/parseAndEval..st @@ -0,0 +1,3 @@ +as yet unclassified +parseAndEval: anExpression + ^ self eval: (self parse: anExpression) \ No newline at end of file diff --git a/src/Phsyche.package/PhsycheTest.class/instance/testEvalBoolean.st b/src/Phsyche.package/PhsycheTest.class/instance/testEvalBoolean.st new file mode 100644 index 0000000..9dfa23b --- /dev/null +++ b/src/Phsyche.package/PhsycheTest.class/instance/testEvalBoolean.st @@ -0,0 +1,4 @@ +tests +testEvalBoolean + self assert: (ph parseAndEval: 'true') equals: true. + self assert: (ph parseAndEval: 'false') equals: false. \ No newline at end of file diff --git a/src/Phsyche.package/PhsycheTest.class/instance/testEvalEmptyList.st b/src/Phsyche.package/PhsycheTest.class/instance/testEvalEmptyList.st new file mode 100644 index 0000000..7bc4dc8 --- /dev/null +++ b/src/Phsyche.package/PhsycheTest.class/instance/testEvalEmptyList.st @@ -0,0 +1,3 @@ +tests +testEvalEmptyList + self assert: (ph parseAndEval: '()') equals: #() \ No newline at end of file diff --git a/src/Phsyche.package/PhsycheTest.class/instance/testEvalNumber.st b/src/Phsyche.package/PhsycheTest.class/instance/testEvalNumber.st new file mode 100644 index 0000000..49f4916 --- /dev/null +++ b/src/Phsyche.package/PhsycheTest.class/instance/testEvalNumber.st @@ -0,0 +1,4 @@ +tests +testEvalNumber + self assert: (ph parseAndEval: '12') equals: 12. + self assert: (ph parseAndEval: '3.14') equals: 3.14. \ No newline at end of file