Statements and Expressions as structurs in Prolog
Statements and Expressions as structurs in Prolog
(OP)
Anybody out there who can help me?
The following grammatic discribes a small language for Statements and Expressions as structurs in Prolog.
Statement::
statement(if, Predicat, Statement) |
statement(while, Predicat, Statement) |
statement(assign, Describ, Expression)
statement(print, Expression) |
statement(sequence, Statement, Statement).
Predicat::
Expression.
Expression ::
Describ |
Zahl |
expression(add, Expression, Expression)|
expression(sub, Expression, Expression)|
expression(mult, Expression, Expression).
mit atom(Describ) und number(Number).
Example for an expression: expression(add,x,1)
Example for an statement: statement(assign,x,2.2222).
I have to implement the following predicats:
exec(Statement, Variablelist, NewVariablelist)
eval(Expression, Value, Variablelist)
they should interpret. Statements and Expressions.
there are 5 different ones of Statements and Expressions:
statement(if, 2, statement(print,2))
describes the tree:
statement
/ | \
if 2 statement
| \
print 2
please help me!
thanx, Andreas
The following grammatic discribes a small language for Statements and Expressions as structurs in Prolog.
Statement::
statement(if, Predicat, Statement) |
statement(while, Predicat, Statement) |
statement(assign, Describ, Expression)
statement(print, Expression) |
statement(sequence, Statement, Statement).
Predicat::
Expression.
Expression ::
Describ |
Zahl |
expression(add, Expression, Expression)|
expression(sub, Expression, Expression)|
expression(mult, Expression, Expression).
mit atom(Describ) und number(Number).
Example for an expression: expression(add,x,1)
Example for an statement: statement(assign,x,2.2222).
I have to implement the following predicats:
exec(Statement, Variablelist, NewVariablelist)
eval(Expression, Value, Variablelist)
they should interpret. Statements and Expressions.
there are 5 different ones of Statements and Expressions:
statement(if, 2, statement(print,2))
describes the tree:
statement
/ | \
if 2 statement
| \
print 2
please help me!
thanx, Andreas




