evaluator: add simple no-op evaluator and tests

This commit is contained in:
2018-04-30 16:41:12 +02:00
parent 90603a9bb5
commit 584f9b24c7
6 changed files with 20 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
as yet unclassified
eval: expression
^ self eval: expression in: nil

View File

@@ -0,0 +1,3 @@
as yet unclassified
eval: expression in: anEnvironment
^ expression

View File

@@ -0,0 +1,3 @@
as yet unclassified
parseAndEval: anExpression
^ self eval: (self parse: anExpression)

View File

@@ -0,0 +1,4 @@
tests
testEvalBoolean
self assert: (ph parseAndEval: 'true') equals: true.
self assert: (ph parseAndEval: 'false') equals: false.

View File

@@ -0,0 +1,3 @@
tests
testEvalEmptyList
self assert: (ph parseAndEval: '()') equals: #()

View File

@@ -0,0 +1,4 @@
tests
testEvalNumber
self assert: (ph parseAndEval: '12') equals: 12.
self assert: (ph parseAndEval: '3.14') equals: 3.14.