Skip to content

Commit

Permalink
Added caching, assert, helptext and help command
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@963 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Peter Aronsson committed May 9, 2003
1 parent 71e7c67 commit 91ea514
Show file tree
Hide file tree
Showing 10 changed files with 970 additions and 320 deletions.
16 changes: 9 additions & 7 deletions modeq/Makefile.in
Expand Up @@ -39,6 +39,7 @@ RTOBJ = runtime/systemimpl.o ../c_runtime/libc_runtime.a runtime/rtopts.o runt
SRCRML= absyn.rml \
algorithm.rml \
builtin.rml \
cache.rml \
classinf.rml \
classloader.rml \
codegen.rml \
Expand Down Expand Up @@ -122,8 +123,9 @@ depend:
absyn.o: absyn.rml debug.rml dump.rml util.rml print.rml
algorithm.o: algorithm.rml exp.rml types.rml explode.rml print.rml
builtin.o: builtin.rml absyn.rml explode.rml env.rml exp.rml types.rml classinf.rml debug.rml print.rml
cache.o: cache.rml env.rml absyn.rml explode.rml types.rml
classinf.o: classinf.rml explode.rml print.rml absyn.rml
classloader.o: classloader.rml absyn.rml system.rml lookup.rml interactive.rml
classloader.o: classloader.rml absyn.rml system.rml lookup.rml interactive.rml util.rml parse.rml print.rml env.rml dump.rml
codegen.o: codegen.rml dae.rml print.rml dump.rml debug.rml absyn.rml algorithm.rml classinf.rml exp.rml modutil.rml types.rml util.rml
connect.o: connect.rml exp.rml staticexp.rml dae.rml dump.rml print.rml
dae.o: dae.rml absyn.rml exp.rml algorithm.rml types.rml rtopts.rml graphviz.rml dump.rml print.rml util.rml
Expand All @@ -135,13 +137,13 @@ exp.o: exp.rml absyn.rml rtopts.rml util.rml print.rml
explode.o: explode.rml absyn.rml dump.rml debug.rml print.rml
graphviz.o: graphviz.rml
inst.o: inst.rml classinf.rml connect.rml dae.rml debug.rml env.rml exp.rml explode.rml mod.rml prefix.rml types.rml util.rml interactive.rml absyn.rml algorithm.rml builtin.rml dump.rml lookup.rml modutil.rml rtopts.rml staticexp.rml values.rml print.rml
interactive.o: interactive.rml absyn.rml explode.rml dae.rml types.rml values.rml dump.rml debug.rml rtopts.rml util.rml parse.rml prefix.rml mod.rml env.rml lookup.rml classinf.rml exp.rml inst.rml staticexp.rml modutil.rml codegen.rml print.rml system.rml
lookup.o: lookup.rml classinf.rml types.rml absyn.rml exp.rml env.rml explode.rml parse.rml debug.rml dump.rml inst.rml mod.rml prefix.rml print.rml builtin.rml
interactive.o: interactive.rml absyn.rml explode.rml dae.rml types.rml values.rml env.rml dump.rml debug.rml rtopts.rml util.rml parse.rml prefix.rml mod.rml lookup.rml classinf.rml exp.rml inst.rml staticexp.rml modutil.rml codegen.rml print.rml system.rml classloader.rml
lookup.o: lookup.rml classinf.rml types.rml absyn.rml exp.rml env.rml explode.rml parse.rml debug.rml dump.rml inst.rml mod.rml prefix.rml print.rml builtin.rml util.rml
main.o: main.rml absyn.rml modutil.rml parse.rml dump.rml dumpgraphviz.rml explode.rml dae.rml inst.rml interactive.rml rtopts.rml debug.rml codegen.rml socket.rml print.rml
mod.o: mod.rml absyn.rml dae.rml env.rml exp.rml prefix.rml explode.rml types.rml staticexp.rml values.rml dump.rml print.rml
mod.o: mod.rml absyn.rml dae.rml env.rml exp.rml prefix.rml explode.rml types.rml staticexp.rml values.rml dump.rml print.rml inst.rml
modutil.o: modutil.rml absyn.rml dae.rml exp.rml algorithm.rml rtopts.rml util.rml print.rml
prefix.o: prefix.rml absyn.rml exp.rml env.rml lookup.rml util.rml print.rml
staticexp.o: staticexp.rml absyn.rml exp.rml explode.rml types.rml env.rml values.rml classinf.rml interactive.rml dump.rml print.rml system.rml lookup.rml debug.rml inst.rml codegen.rml modutil.rml dae.rml
types.o: types.rml classinf.rml absyn.rml exp.rml values.rml explode.rml dump.rml debug.rml print.rml
staticexp.o: staticexp.rml absyn.rml exp.rml explode.rml types.rml env.rml values.rml classinf.rml interactive.rml dump.rml print.rml system.rml lookup.rml debug.rml inst.rml codegen.rml modutil.rml dae.rml util.rml rtopts.rml parse.rml classloader.rml
types.o: types.rml classinf.rml absyn.rml exp.rml values.rml explode.rml dump.rml debug.rml print.rml util.rml
util.o: util.rml
values.o: values.rml exp.rml print.rml system.rml
values.o: values.rml exp.rml print.rml system.rml util.rml
19 changes: 18 additions & 1 deletion modeq/algorithm.rml
Expand Up @@ -50,6 +50,7 @@ module Algorithm:
| FOR of Exp.Type * bool * Ident * Exp.Exp * Statement list
| WHILE of Exp.Exp * Statement list
| WHEN of Exp.Exp * Statement list
| ASSERT of Exp.Exp * Exp.Exp
(** There are four kinds of statements. Assignments (`a := b;'),
** if statements (`if A then B; elseif C; else D;'), for loops
** (`for i in 1:10 loop ...; end for;') and when statements
Expand Down Expand Up @@ -79,6 +80,9 @@ module Algorithm:

relation make_when_a : (Exp.Exp, Types.Properties,
Statement list) => Statement

relation make_assert: (Exp.Exp, Exp.Exp, Types.Properties, Types.Properties)
=> Statement

end
with "print.rml"
Expand Down Expand Up @@ -269,5 +273,18 @@ relation make_when_a : (Exp.Exp, Types.Properties,
Types.print_type t & Print.print_buf "\n"
-------------------------------
make_when_a(_,Types.PROP(t,_),_) => fail

end

relation make_assert: (Exp.Exp, Exp.Exp, Types.Properties, Types.Properties)
=> Statement =

axiom make_assert(cond, msg, Types.PROP(T_BOOL,_),Types.PROP(T_STRING,_))
=> ASSERT(cond,msg)

rule not let T_BOOL = condt &
Print.print_buf "# Type error in assert condition.\n" &
Print.print_buf " Expected Boolean, got " &
Types.print_type condt & Print.print_buf "\n"
--------------------------------------------
make_assert(_,_,Types.PROP(condt,_),_) => fail
end

0 comments on commit 91ea514

Please sign in to comment.