src/HOLCF/IOA/meta_theory/ioa_syn.ML
author wenzelm
Mon, 19 Jul 1999 16:47:24 +0200
changeset 7040 613724c2ee6b
parent 6467 863834a37769
child 8733 3213613a775a
permissions -rw-r--r--
renamed 'with' to 'using';
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6467
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
     1
local 
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
     2
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
     3
open ThyParse;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
     4
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
     5
(* encoding transition specifications with a element of ParseTrans *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
     6
datatype ParseTrans = Rel of string | PP of string*(string*string)list;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
     7
fun mk_trans_of_rel s = Rel(s);
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
     8
fun mk_trans_of_prepost (s,l) = PP(s,l); 
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
     9
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    10
(* stripping quotes of a string *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    11
fun strip [] = [] |
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    12
strip ("\""::r) = strip r |
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    13
strip (a::b) = a :: (strip b);
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    14
fun strip_quote s = implode(strip(explode(s)));
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    15
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    16
fun comma_list_of [] = "" |
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    17
comma_list_of [a] = a |
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    18
comma_list_of (a::r) = a ^ ", " ^ (comma_list_of r);
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    19
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    20
fun pair_of (a,b) = "(" ^ a ^ "," ^ b ^ ")";
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    21
fun pair_list_of [] = "" |
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    22
pair_list_of [a] = pair_of a |
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    23
pair_list_of (a::r) = (pair_of a) ^ ", " ^ (pair_list_of r);
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    24
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    25
fun trans_of (a,Rel(b)) = "(" ^ a ^ "," ^ b ^ ", [(\"\",\"\")])" |
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    26
trans_of (a,PP(b,l)) = "(" ^ a ^ "," ^ b ^ ",[" ^ (pair_list_of l) ^ "])";
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    27
fun trans_list_of [] = "" |
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    28
trans_list_of [a] = trans_of a |
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    29
trans_list_of (a::r) = (trans_of a) ^ ", " ^ (trans_list_of r);
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    30
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    31
(**************************************************************************)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    32
(* In den folgenden Funktionen stehen in der ersten Komponente des        *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    33
(* Ergebnispaares die entsprechenden Funktionsaufrufe aus ioa_package.ML, *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    34
(* welche die entsprechenden Automatendefinitionen generieren.            *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    35
(* In der zweiten Komponente m"ussen diese Definitionen nochmal           *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    36
(* aufgef"uhrt werden, damit diese dann als Axiome genutzt werden k"onnen *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    37
(**************************************************************************)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    38
fun mk_ioa_decl t (aut,((((((action_type,inp),out),int),states),initial),trans)) =
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    39
let
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    40
val automaton_name = strip_quote aut;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    41
in
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    42
(
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    43
"|> IoaPackage.add_ioa " ^ aut ^ " " ^ action_type ^ "\n" ^
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    44
"[" ^ (comma_list_of inp) ^ "]\n" ^
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    45
"[" ^ (comma_list_of out) ^ "]\n" ^
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    46
"[" ^ (comma_list_of int) ^ "]\n" ^
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    47
"[" ^ (pair_list_of states) ^ "]\n" ^
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    48
initial ^ "\n" ^
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    49
"[" ^ (trans_list_of trans) ^ "]"
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    50
,
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    51
[automaton_name ^ "_initial_def", automaton_name ^ "_asig_def"
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    52
,automaton_name ^ "_trans_def",automaton_name ^ "_def"]
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    53
)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    54
end;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    55
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    56
fun mk_composition_decl (aut,autlist) =
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    57
let
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    58
val automaton_name = strip_quote aut;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    59
in
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    60
(
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    61
"|> IoaPackage.add_composition " ^ aut ^ "\n" ^
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    62
"[" ^ (comma_list_of autlist) ^ "]"
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    63
,
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    64
[automaton_name ^ "_def"]
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    65
)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    66
end;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    67
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    68
fun mk_hiding_decl (aut,(actlist,source_aut)) =
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    69
let
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    70
val automaton_name = strip_quote aut;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    71
val source_name = strip_quote source_aut;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    72
in
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    73
(
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    74
"|> IoaPackage.add_hiding " ^ aut ^ " " ^ source_aut ^ "\n" ^
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    75
"[" ^ (comma_list_of actlist) ^ "]"
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    76
,
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    77
[automaton_name ^ "_def"]
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    78
)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    79
end;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    80
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    81
fun mk_restriction_decl (aut,(source_aut,actlist)) =
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    82
let
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    83
val automaton_name = strip_quote aut;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    84
val source_name = strip_quote source_aut;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    85
in
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    86
(
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    87
"|> IoaPackage.add_restriction " ^ aut ^ " " ^ source_aut ^ "\n" ^
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    88
"[" ^ (comma_list_of actlist) ^ "]"
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    89
,
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    90
[automaton_name ^ "_def"]
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    91
)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    92
end;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    93
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    94
fun mk_rename_decl (aut,(source_aut,rename_f)) = 
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    95
let
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    96
val automaton_name = strip_quote aut;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    97
in
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    98
("|> IoaPackage.add_rename " ^ aut ^ " " ^ source_aut ^ " " ^ rename_f
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
    99
,
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   100
[automaton_name ^ "_def"]
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   101
)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   102
end;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   103
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   104
(****************************************************************)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   105
(* Ab hier Angabe der Einlesepattern f"ur die Sektion automaton *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   106
(****************************************************************)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   107
val actionlist = enum1 "," (string)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   108
val inputslist = "inputs" $$-- actionlist
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   109
val outputslist = "outputs" $$-- actionlist
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   110
val internalslist = "internals" $$-- actionlist
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   111
val stateslist =
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   112
	"states" $$--
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   113
	repeat1 (name --$$ "::" -- typ)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   114
val initial = 
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   115
	"initially" $$-- string
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   116
val assign_list = enum1 "," (name --$$ ":=" -- string)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   117
val pre =
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   118
	"pre" $$-- string
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   119
val post =
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   120
	"post" $$-- assign_list
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   121
val post1 = ((optional pre "\"True\"") -- post) >> mk_trans_of_prepost
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   122
val pre1 = (pre -- (optional post [])) >> mk_trans_of_prepost
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   123
val transrel =	("transrel" $$-- string) >> mk_trans_of_rel
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   124
val transition = string -- 
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   125
	(transrel || pre1 || post1)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   126
val translist = "transitions" $$--
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   127
	repeat1 (transition)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   128
val ioa_decl =
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   129
  (name -- ("="  $$--
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   130
	("signature" $$-- 
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   131
	("actions" $$--
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   132
	(typ --
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   133
	(optional inputslist []) --
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   134
	(optional outputslist []) --
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   135
	(optional internalslist []) --
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   136
	 stateslist --
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   137
	(optional initial "\"True\"") --
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   138
	translist)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   139
	)))
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   140
  >> mk_ioa_decl thy)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   141
||
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   142
  (name -- ("=" $$--
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   143
	("compose" $$-- (enum1 "," name))) >> mk_composition_decl)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   144
||
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   145
  (name -- ("=" $$--
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   146
	("hide" $$-- (enum1 "," string) --
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   147
		("in" $$-- name))) >> mk_hiding_decl)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   148
||
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   149
  (name -- ("=" $$--
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   150
        ("restrict" $$-- name --
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   151
                ("to" $$-- (enum1 "," string)))) >> mk_restriction_decl)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   152
||
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   153
  (name -- ("=" $$--
7040
613724c2ee6b renamed 'with' to 'using';
wenzelm
parents: 6467
diff changeset
   154
	("rename" $$-- name -- ("using" $$-- string))) >> mk_rename_decl)
6467
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   155
;
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   156
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   157
in
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   158
(******************************************************************)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   159
(* im folgenden werden in der ersten Liste alle beim Einlesen von *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   160
(* Automaten vorkommende Schl"usselw"orter aufgef"uhrt, in der    *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   161
(* zweiten Liste wird die Syntaxsektion automaton definiert       *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   162
(* mitsamt dessen Einlesepattern ioa_decl                         *)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   163
(******************************************************************)
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   164
val _ = ThySyn.add_syntax
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   165
 ["signature","actions","inputs", "outputs", "internals", "states", "initially",
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   166
  "transitions", "pre", "post", "transrel",":=",
7040
613724c2ee6b renamed 'with' to 'using';
wenzelm
parents: 6467
diff changeset
   167
"compose","hide","in","restrict","to","rename","using"]
6467
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   168
 [axm_section "automaton" "" ioa_decl];
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   169
863834a37769 added frontend syntax for IOA, moved trivial examples to folder ex;
mueller
parents:
diff changeset
   170
end;