forked from modelica/ModelicaStandardLibrary
-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.mo
7477 lines (6569 loc) · 337 KB
/
package.mo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
within ;
package ModelicaReference "Modelica Reference"
extends ModelicaReference.Icons.Information;
class ModelicaGrammar "Modelica Grammar"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html><head><title>Modelica 3.4 Grammar</title>
<style type=\"text/css\">
A.HREF { text-decoration:none; color:#003399 }
</style>
</head>
<body><h4>Modelica 3.4 Grammar</h4>
<p>This is the grammar of Modelica 3.4 in EBNF form. Each
non-terminal appearing on the right hand side of a production is a link to the
production for that non-terminal. This grammar is identical to that in the
Modelica 3.4 specification except for removal of some unnecessary
parentheses, grouping of some common terms, and reformatting for easier
readability. The following typographic conventions are used:</p>
<ul>
<li>Keywords are set in <strong>boldface</strong>.</li>
<li>Literals other than keywords are <font color=\"green\">\"</font><tt>quoted-monospaced</tt><font color=\"green\">\"</font> text.</li>
<li>Non-terminals are set in <em>italics</em>, with <font color=\"#003399\"><em>blue italics</em></font> used for links.</li>
<li>EBNF meta-characters are <font color=\"green\">green</font>.</li>
</ul>
<h5>Stored Definition</h5>
<p><a name=\"stored_definition\" class=\"NAME\"><em>stored_definition</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>within</strong><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#name\" class=\"HREF\"><em>name</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>final</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#class_definition\" class=\"HREF\"><em>class_definition</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<h5>Class Definition</h5>
<p><a name=\"class_definition\" class=\"NAME\"><em>class_definition</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>encapsulated</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#class_prefixes\" class=\"HREF\"><em>class_prefixes</em></a><tt> </tt><a href=\"#class_specifier\" class=\"HREF\"><em>class_specifier</em></a>
</p>
<p><a name=\"class_prefixes\" class=\"NAME\"><em>class_prefixes</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>partial</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><strong>class</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>model</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>operator</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><strong>record</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>block</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>expandable</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><strong>connector</strong>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>type</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>package</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>pure</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>impure</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>operator</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><strong>function</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>operator</strong><tt> </tt><font color=\"green\" size=\"+1\">)</font>
</p>
<p><a name=\"class_specifier\" class=\"NAME\"><em>class_specifier</em></a>:
<br><tt> </tt><a href=\"#long_class_specifier\" class=\"HREF\"><em>long_class_specifier</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#short_class_specifier\" class=\"HREF\"><em>short_class_specifier</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#der_class_specifier\" class=\"HREF\"><em>der_class_specifier</em></a>
</p>
<p><a name=\"long_class_specifier\" class=\"NAME\"><em>long_class_specifier</em></a>:
<br><tt> </tt><em>IDENT</em><tt> </tt><a href=\"#string_comment\" class=\"HREF\"><em>string_comment</em></a><tt> </tt><a href=\"#composition\" class=\"HREF\"><em>composition</em></a><tt> </tt><strong>end</strong><tt> </tt><em>IDENT</em>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>extends</strong><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#class_modification\" class=\"HREF\"><em>class_modification</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#string_comment\" class=\"HREF\"><em>string_comment</em></a><tt> </tt><a href=\"#composition\" class=\"HREF\"><em>composition</em></a><tt> </tt><strong>end</strong><tt> </tt><em>IDENT</em>
</p>
<p><a name=\"short_class_specifier\" class=\"NAME\"><em>short_class_specifier</em></a>:
<br><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\">\"</font><tt>=</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#base_prefix\" class=\"HREF\"><em>base_prefix</em></a><tt> </tt><a href=\"#type_specifier\" class=\"HREF\"><em>type_specifier</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#array_subscripts\" class=\"HREF\"><em>array_subscripts</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#class_modification\" class=\"HREF\"><em>class_modification</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\">\"</font><tt>=</tt><font color=\"green\">\"</font><tt> </tt><strong>enumeration</strong><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#enum_list\" class=\"HREF\"><em>enum_list</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>:</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">)</font><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a>
</p>
<p><a name=\"der_class_specifier\" class=\"NAME\"><em>der_class_specifier</em></a>:
<br><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\">\"</font><tt>=</tt><font color=\"green\">\"</font><tt> </tt><strong>der</strong><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#type_specifier\" class=\"HREF\"><em>type_specifier</em></a><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a>
</p>
<p><a name=\"base_prefix\" class=\"NAME\"><em>base_prefix</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>input</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>output</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"enum_list\" class=\"NAME\"><em>enum_list</em></a>:
<br><tt> </tt><a href=\"#enumeration_literal\" class=\"HREF\"><em>enumeration_literal</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#enumeration_literal\" class=\"HREF\"><em>enumeration_literal</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"enumeration_literal\" class=\"NAME\"><em>enumeration_literal</em></a>:
<br><tt> </tt><em>IDENT</em><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a>
</p>
<p><a name=\"composition\" class=\"NAME\"><em>composition</em></a>:
<br><tt> </tt><a href=\"#element_list\" class=\"HREF\"><em>element_list</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><strong>public</strong><tt> </tt><a href=\"#element_list\" class=\"HREF\"><em>element_list</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>protected</strong><tt> </tt><a href=\"#element_list\" class=\"HREF\"><em>element_list</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#equation_section\" class=\"HREF\"><em>equation_section</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#algorithm_section\" class=\"HREF\"><em>algorithm_section</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>external</strong><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#language_specification\" class=\"HREF\"><em>language_specification</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#external_function_call\" class=\"HREF\"><em>external_function_call</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#annotation_comment\" class=\"HREF\"><em>annotation_comment</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#annotation_comment\" class=\"HREF\"><em>annotation_comment</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"language_specification\" class=\"NAME\"><em>language_specification</em></a>:
<br><tt> </tt><em>STRING</em>
</p>
<p><a name=\"external_function_call\" class=\"NAME\"><em>external_function_call</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#component_reference\" class=\"HREF\"><em>component_reference</em></a><tt> </tt><font color=\"green\">\"</font><tt>=</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#expression_list\" class=\"HREF\"><em>expression_list</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font>
</p>
<p><a name=\"element_list\" class=\"NAME\"><em>element_list</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#element\" class=\"HREF\"><em>element</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"element\" class=\"NAME\"><em>element</em></a>:
<br><tt> </tt><a href=\"#import_clause\" class=\"HREF\"><em>import_clause</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#extends_clause\" class=\"HREF\"><em>extends_clause</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>redeclare</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>final</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>inner</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>outer</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><a href=\"#class_definition\" class=\"HREF\"><em>class_definition</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#component_clause\" class=\"HREF\"><em>component_clause</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>replaceable</strong><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><a href=\"#class_definition\" class=\"HREF\"><em>class_definition</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#component_clause\" class=\"HREF\"><em>component_clause</em></a><tt> </tt><font color=\"green\" size=\"+1\">)</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#constraining_clause\" class=\"HREF\"><em>constraining_clause</em></a><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">)</font>
</p>
<p><a name=\"import_clause\" class=\"NAME\"><em>import_clause</em></a>:
<br><tt> </tt><strong>import</strong><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\">\"</font><tt>=</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#name\" class=\"HREF\"><em>name</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#name\" class=\"HREF\"><em>name</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>.</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\">\"</font><tt>*</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>.*</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>{</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#import_list\" class=\"HREF\"><em>import_list</em></a><tt> </tt><font color=\"green\">\"</font><tt>}</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">)</font><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a>
</p>
<p><a name=\"import_list\" class=\"NAME\"><em>import_list</em></a>:
<br><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<h5>Extends</h5>
<p><a name=\"extends_clause\" class=\"NAME\"><em>extends_clause</em></a>:
<br><tt> </tt><strong>extends</strong><tt> </tt><a href=\"#type_specifier\" class=\"HREF\"><em>type_specifier</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#class_modification\" class=\"HREF\"><em>class_modification</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#annotation_comment\" class=\"HREF\"><em>annotation_comment</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"constraining_clause\" class=\"NAME\"><em>constraining_clause</em></a>:
<br><tt> </tt><strong>constrainedby</strong><tt> </tt><a href=\"#type_specifier\" class=\"HREF\"><em>type_specifier</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#class_modification\" class=\"HREF\"><em>class_modification</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<h5>Component Clause</h5>
<p><a name=\"component_clause\" class=\"NAME\"><em>component_clause</em></a>:
<br><tt> </tt><a href=\"#type_prefix\" class=\"HREF\"><em>type_prefix</em></a><tt> </tt><a href=\"#type_specifier\" class=\"HREF\"><em>type_specifier</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#array_subscripts\" class=\"HREF\"><em>array_subscripts</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#component_list\" class=\"HREF\"><em>component_list</em></a>
</p>
<p><a name=\"type_prefix\" class=\"NAME\"><em>type_prefix</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>flow</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>stream</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>discrete</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>parameter</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>constant</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>input</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>output</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"component_list\" class=\"NAME\"><em>component_list</em></a>:
<br><tt> </tt><a href=\"#component_declaration\" class=\"HREF\"><em>component_declaration</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#component_declaration\" class=\"HREF\"><em>component_declaration</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"component_declaration\" class=\"NAME\"><em>component_declaration</em></a>:
<br><tt> </tt><a href=\"#declaration\" class=\"HREF\"><em>declaration</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#condition_attribute\" class=\"HREF\"><em>condition_attribute</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a>
</p>
<p><a name=\"condition_attribute\" class=\"NAME\"><em>condition_attribute</em></a>:
<br><tt> </tt><strong>if</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a>
</p>
<p><a name=\"declaration\" class=\"NAME\"><em>declaration</em></a>:
<br><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#array_subscripts\" class=\"HREF\"><em>array_subscripts</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#modification\" class=\"HREF\"><em>modification</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<h5>Modification</h5>
<p><a name=\"modification\" class=\"NAME\"><em>modification</em></a>:
<br><tt> </tt><a href=\"#class_modification\" class=\"HREF\"><em>class_modification</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>=</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>=</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>:=</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a>
</p>
<p><a name=\"class_modification\" class=\"NAME\"><em>class_modification</em></a>:
<br><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#argument_list\" class=\"HREF\"><em>argument_list</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font>
</p>
<p><a name=\"argument_list\" class=\"NAME\"><em>argument_list</em></a>:
<br><tt> </tt><a href=\"#argument\" class=\"HREF\"><em>argument</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#argument\" class=\"HREF\"><em>argument</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"argument\" class=\"NAME\"><em>argument</em></a>:
<br><tt> </tt><a href=\"#element_modification_or_replaceable\" class=\"HREF\"><em>element_modification_or_replaceable</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#element_redeclaration\" class=\"HREF\"><em>element_redeclaration</em></a>
</p>
<p><a name=\"element_modification_or_replaceable\" class=\"NAME\"><em>element_modification_or_replaceable</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>each</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>final</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><a href=\"#element_modification\" class=\"HREF\"><em>element_modification</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#element_replaceable\" class=\"HREF\"><em>element_replaceable</em></a><tt> </tt><font color=\"green\" size=\"+1\">)</font>
</p>
<p><a name=\"element_modification\" class=\"NAME\"><em>element_modification</em></a>:
<br><tt> </tt><a href=\"#name\" class=\"HREF\"><em>name</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#modification\" class=\"HREF\"><em>modification</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#string_comment\" class=\"HREF\"><em>string_comment</em></a>
</p>
<p><a name=\"element_redeclaration\" class=\"NAME\"><em>element_redeclaration</em></a>:
<br><tt> </tt><strong>redeclare</strong><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>each</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>final</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><a href=\"#short_class_definition\" class=\"HREF\"><em>short_class_definition</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#component_clause1\" class=\"HREF\"><em>component_clause1</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#element_replaceable\" class=\"HREF\"><em>element_replaceable</em></a><tt> </tt><font color=\"green\" size=\"+1\">)</font>
</p>
<p><a name=\"element_replaceable\" class=\"NAME\"><em>element_replaceable</em></a>:
<br><tt> </tt><strong>replaceable</strong><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><a href=\"#short_class_definition\" class=\"HREF\"><em>short_class_definition</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#component_clause1\" class=\"HREF\"><em>component_clause1</em></a><tt> </tt><font color=\"green\" size=\"+1\">)</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#constraining_clause\" class=\"HREF\"><em>constraining_clause</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"component_clause1\" class=\"NAME\"><em>component_clause1</em></a>:
<br><tt> </tt><a href=\"#type_prefix\" class=\"HREF\"><em>type_prefix</em></a><tt> </tt><a href=\"#type_specifier\" class=\"HREF\"><em>type_specifier</em></a><tt> </tt><a href=\"#component_declaration1\" class=\"HREF\"><em>component_declaration1</em></a>
</p>
<p><a name=\"component_declaration1\" class=\"NAME\"><em>component_declaration1</em></a>:
<br><tt> </tt><a href=\"#declaration\" class=\"HREF\"><em>declaration</em></a><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a>
</p>
<p><a name=\"short_class_definition\" class=\"NAME\"><em>short_class_definition</em></a>:
<br><tt> </tt><a href=\"#class_prefixes\" class=\"HREF\"><em>class_prefixes</em></a><tt> </tt><a href=\"#short_class_specifier\" class=\"HREF\"><em>short_class_specifier</em></a>
</p>
<h5>Equation</h5>
<p><a name=\"equation_section\" class=\"NAME\"><em>equation_section</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>initial</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><strong>equation</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#equation\" class=\"HREF\"><em>equation</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"algorithm_section\" class=\"NAME\"><em>algorithm_section</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>initial</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><strong>algorithm</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#statement\" class=\"HREF\"><em>statement</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"equation\" class=\"NAME\"><em>equation</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><a href=\"#simple_expression\" class=\"HREF\"><em>simple_expression</em></a><tt> </tt><font color=\"green\">\"</font><tt>=</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#if_equation\" class=\"HREF\"><em>if_equation</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#for_equation\" class=\"HREF\"><em>for_equation</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#connect_clause\" class=\"HREF\"><em>connect_clause</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#when_equation\" class=\"HREF\"><em>when_equation</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#component_reference\" class=\"HREF\"><em>component_reference</em></a><tt> </tt><a href=\"#function_call_args\" class=\"HREF\"><em>function_call_args</em></a><tt> </tt><font color=\"green\" size=\"+1\">)</font><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a>
</p>
<p><a name=\"statement\" class=\"NAME\"><em>statement</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><a href=\"#component_reference\" class=\"HREF\"><em>component_reference</em></a><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><font color=\"green\">\"</font><tt>:=</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#function_call_args\" class=\"HREF\"><em>function_call_args</em></a><tt> </tt><font color=\"green\" size=\"+1\">)</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#output_expression_list\" class=\"HREF\"><em>output_expression_list</em></a><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\">\"</font><tt>:=</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#component_reference\" class=\"HREF\"><em>component_reference</em></a><tt> </tt><a href=\"#function_call_args\" class=\"HREF\"><em>function_call_args</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>break</strong>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>return</strong>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#if_statement\" class=\"HREF\"><em>if_statement</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#for_statement\" class=\"HREF\"><em>for_statement</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#while_statement\" class=\"HREF\"><em>while_statement</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#when_statement\" class=\"HREF\"><em>when_statement</em></a><tt> </tt><font color=\"green\" size=\"+1\">)</font><tt> </tt><a href=\"#comment\" class=\"HREF\"><em>comment</em></a>
</p>
<p><a name=\"if_equation\" class=\"NAME\"><em>if_equation</em></a>:
<br><tt> </tt><strong>if</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#equation\" class=\"HREF\"><em>equation</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><strong>elseif</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#equation\" class=\"HREF\"><em>equation</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>else</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#equation\" class=\"HREF\"><em>equation</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><strong>end</strong><tt> </tt><strong>if</strong>
</p>
<p><a name=\"if_statement\" class=\"NAME\"><em>if_statement</em></a>:
<br><tt> </tt><strong>if</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#statement\" class=\"HREF\"><em>statement</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><strong>elseif</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#statement\" class=\"HREF\"><em>statement</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>else</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#statement\" class=\"HREF\"><em>statement</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><strong>end</strong><tt> </tt><strong>if</strong>
</p>
<p><a name=\"for_equation\" class=\"NAME\"><em>for_equation</em></a>:
<br><tt> </tt><strong>for</strong><tt> </tt><a href=\"#for_indices\" class=\"HREF\"><em>for_indices</em></a><tt> </tt><strong>loop</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#equation\" class=\"HREF\"><em>equation</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><strong>end</strong><tt> </tt><strong>for</strong>
</p>
<p><a name=\"for_statement\" class=\"NAME\"><em>for_statement</em></a>:
<br><tt> </tt><strong>for</strong><tt> </tt><a href=\"#for_indices\" class=\"HREF\"><em>for_indices</em></a><tt> </tt><strong>loop</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#statement\" class=\"HREF\"><em>statement</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><strong>end</strong><tt> </tt><strong>for</strong>
</p>
<p><a name=\"for_indices\" class=\"NAME\"><em>for_indices</em></a>:
<br><tt> </tt><a href=\"#for_index\" class=\"HREF\"><em>for_index</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#for_index\" class=\"HREF\"><em>for_index</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"for_index\" class=\"NAME\"><em>for_index</em></a>:
<br><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>in</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"while_statement\" class=\"NAME\"><em>while_statement</em></a>:
<br><tt> </tt><strong>while</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>loop</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#statement\" class=\"HREF\"><em>statement</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><strong>end</strong><tt> </tt><strong>while</strong>
</p>
<p><a name=\"when_equation\" class=\"NAME\"><em>when_equation</em></a>:
<br><tt> </tt><strong>when</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#equation\" class=\"HREF\"><em>equation</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><strong>elsewhen</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#equation\" class=\"HREF\"><em>equation</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><strong>end</strong><tt> </tt><strong>when</strong>
</p>
<p><a name=\"when_statement\" class=\"NAME\"><em>when_statement</em></a>:
<br><tt> </tt><strong>when</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#statement\" class=\"HREF\"><em>statement</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><strong>elsewhen</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#statement\" class=\"HREF\"><em>statement</em></a><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><strong>end</strong><tt> </tt><strong>when</strong>
</p>
<p><a name=\"connect_clause\" class=\"NAME\"><em>connect_clause</em></a>:
<br><tt> </tt><strong>connect</strong><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#component_reference\" class=\"HREF\"><em>component_reference</em></a><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#component_reference\" class=\"HREF\"><em>component_reference</em></a><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font>
</p>
<h5>Expression</h5>
<p><a name=\"expression\" class=\"NAME\"><em>expression</em></a>:
<br><tt> </tt><a href=\"#simple_expression\" class=\"HREF\"><em>simple_expression</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>if</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><strong>elseif</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><strong>then</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
<br><tt> </tt><strong>else</strong><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a>
</p>
<p><a name=\"simple_expression\" class=\"NAME\"><em>simple_expression</em></a>:
<br><tt> </tt><a href=\"#logical_expression\" class=\"HREF\"><em>logical_expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>:</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#logical_expression\" class=\"HREF\"><em>logical_expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>:</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#logical_expression\" class=\"HREF\"><em>logical_expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"logical_expression\" class=\"NAME\"><em>logical_expression</em></a>:
<br><tt> </tt><a href=\"#logical_term\" class=\"HREF\"><em>logical_term</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><strong>or</strong><tt> </tt><a href=\"#logical_term\" class=\"HREF\"><em>logical_term</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"logical_term\" class=\"NAME\"><em>logical_term</em></a>:
<br><tt> </tt><a href=\"#logical_factor\" class=\"HREF\"><em>logical_factor</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><strong>and</strong><tt> </tt><a href=\"#logical_factor\" class=\"HREF\"><em>logical_factor</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"logical_factor\" class=\"NAME\"><em>logical_factor</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><strong>not</strong><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#relation\" class=\"HREF\"><em>relation</em></a>
</p>
<p><a name=\"relation\" class=\"NAME\"><em>relation</em></a>:
<br><tt> </tt><a href=\"#arithmetic_expression\" class=\"HREF\"><em>arithmetic_expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#relational_operator\" class=\"HREF\"><em>relational_operator</em></a><tt> </tt><a href=\"#arithmetic_expression\" class=\"HREF\"><em>arithmetic_expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"relational_operator\" class=\"NAME\"><em>relational_operator</em></a>:
<br><tt> </tt><font color=\"green\">\"</font><tt><</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt><=</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>></tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>>=</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>==</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt><></tt><font color=\"green\">\"</font>
</p>
<p><a name=\"arithmetic_expression\" class=\"NAME\"><em>arithmetic_expression</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#add_operator\" class=\"HREF\"><em>add_operator</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#term\" class=\"HREF\"><em>term</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#add_operator\" class=\"HREF\"><em>add_operator</em></a><tt> </tt><a href=\"#term\" class=\"HREF\"><em>term</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"add_operator\" class=\"NAME\"><em>add_operator</em></a>:
<br><tt> </tt><font color=\"green\">\"</font><tt>+</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>-</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>.+</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>.-</tt><font color=\"green\">\"</font>
</p>
<p><a name=\"term\" class=\"NAME\"><em>term</em></a>:
<br><tt> </tt><a href=\"#factor\" class=\"HREF\"><em>factor</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><a href=\"#mul_operator\" class=\"HREF\"><em>mul_operator</em></a><tt> </tt><a href=\"#factor\" class=\"HREF\"><em>factor</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"mul_operator\" class=\"NAME\"><em>mul_operator</em></a>:
<br><tt> </tt><font color=\"green\">\"</font><tt>*</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>/</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>.*</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>./</tt><font color=\"green\">\"</font>
</p>
<p><a name=\"factor\" class=\"NAME\"><em>factor</em></a>:
<br><tt> </tt><a href=\"#primary\" class=\"HREF\"><em>primary</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><font color=\"green\">\"</font><tt>^</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>.^</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">)</font><tt> </tt><a href=\"#primary\" class=\"HREF\"><em>primary</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"primary\" class=\"NAME\"><em>primary</em></a>:
<br><tt> </tt><em>UNSIGNED_NUMBER</em>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><em>STRING</em>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>false</strong>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>true</strong>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#component_reference\" class=\"HREF\"><em>component_reference</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\" size=\"+1\">(</font><tt> </tt><a href=\"#component_reference\" class=\"HREF\"><em>component_reference</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>der</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>initial</strong><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>pure</strong><tt> </tt><font color=\"green\" size=\"+1\">)</font><tt> </tt><a href=\"#function_call_args\" class=\"HREF\"><em>function_call_args</em></a>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#output_expression_list\" class=\"HREF\"><em>output_expression_list</em></a><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>[</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#expression_list\" class=\"HREF\"><em>expression_list</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>;</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#expression_list\" class=\"HREF\"><em>expression_list</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\">\"</font><tt>]</tt><font color=\"green\">\"</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><font color=\"green\">\"</font><tt>{</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#array_arguments\" class=\"HREF\"><em>array_arguments</em></a><tt> </tt><font color=\"green\">\"</font><tt>}</tt><font color=\"green\">\"</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>end</strong>
</p>
<p><a name=\"type_specifier\" class=\"NAME\"><em>type_specifier</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>.</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><a href=\"#name\" class=\"HREF\"><em>name</em></a>
</p>
<p><a name=\"name\" class=\"NAME\"><em>name</em></a>:
<br><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>.</tt><font color=\"green\">\"</font><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"component_reference\" class=\"NAME\"><em>component_reference</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>.</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#array_subscripts\" class=\"HREF\"><em>array_subscripts</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>.</tt><font color=\"green\">\"</font><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#array_subscripts\" class=\"HREF\"><em>array_subscripts</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"function_call_args\" class=\"NAME\"><em>function_call_args</em></a>:
<br><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#function_arguments\" class=\"HREF\"><em>function_arguments</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font>
</p>
<p><a name=\"function_arguments\" class=\"NAME\"><em>function_arguments</em></a>:
<br><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#function_arguments_non_first\" class=\"HREF\"><em>function_arguments_non_first</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>for</strong><tt> </tt><a href=\"#for_indices\" class=\"HREF\"><em>for_indices</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>function</strong><tt> </tt><a href=\"#name\" class=\"HREF\"><em>name</em></a><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#named_arguments\" class=\"HREF\"><em>named_arguments</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#function_arguments_non_first\" class=\"HREF\"><em>function_arguments_non_first</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#named_arguments\" class=\"HREF\"><em>named_arguments</em></a>
</p>
<p><a name=\"function_arguments_non_first\" class=\"NAME\"><em>function_arguments_non_first</em></a>:
<br><tt> </tt><a href=\"#function_argument\" class=\"HREF\"><em>function_argument</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#function_arguments_non_first\" class=\"HREF\"><em>function_arguments_non_first</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#named_arguments\" class=\"HREF\"><em>named_arguments</em></a>
</p>
<p><a name=\"array_arguments\" class=\"NAME\"><em>array_arguments</em></a>:
<br><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#array_arguments_non_first\" class=\"HREF\"><em>array_arguments_non_first</em></a><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><strong>for</strong><tt> </tt><a href=\"#for_indices\" class=\"HREF\"><em>for_indices</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"array_arguments_non_first\" class=\"NAME\"><em>array_arguments_non_first</em></a>:
<br><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#array_arguments_non_first\" class=\"HREF\"><em>array_arguments_non_first</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"named_arguments\" class=\"NAME\"><em>named_arguments</em></a>:
<br><tt> </tt><a href=\"#named_argument\" class=\"HREF\"><em>named_argument</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#named_arguments\" class=\"HREF\"><em>named_arguments</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"named_argument\" class=\"NAME\"><em>named_argument</em></a>:
<br><tt> </tt><em>IDENT</em><tt> </tt><font color=\"green\">\"</font><tt>=</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#function_argument\" class=\"HREF\"><em>function_argument</em></a>
</p>
<p><a name=\"function_argument\" class=\"NAME\"><em>function_argument</em></a>:
<br><tt> </tt><strong>function</strong><tt> </tt><a href=\"#name\" class=\"HREF\"><em>name</em></a><tt> </tt><font color=\"green\">\"</font><tt>(</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#named_arguments\" class=\"HREF\"><em>named_arguments</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\">\"</font><tt>)</tt><font color=\"green\">\"</font>
<br><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a>
</p>
<p><a name=\"output_expression_list\" class=\"NAME\"><em>output_expression_list</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"expression_list\" class=\"NAME\"><em>expression_list</em></a>:
<br><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font>
</p>
<p><a name=\"array_subscripts\" class=\"NAME\"><em>array_subscripts</em></a>:
<br><tt> </tt><font color=\"green\">\"</font><tt>[</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#subscript\" class=\"HREF\"><em>subscript</em></a><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>,</tt><font color=\"green\">\"</font><tt> </tt><a href=\"#subscript\" class=\"HREF\"><em>subscript</em></a><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\">\"</font><tt>]</tt><font color=\"green\">\"</font>
</p>
<p><a name=\"subscript\" class=\"NAME\"><em>subscript</em></a>:
<br><tt> </tt><font color=\"green\">\"</font><tt>:</tt><font color=\"green\">\"</font><tt> </tt><font color=\"green\" size=\"+1\">|</font><tt> </tt><a href=\"#expression\" class=\"HREF\"><em>expression</em></a>
</p>
<p><a name=\"comment\" class=\"NAME\"><em>comment</em></a>:
<br><tt> </tt><a href=\"#string_comment\" class=\"HREF\"><em>string_comment</em></a><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><a href=\"#annotation_comment\" class=\"HREF\"><em>annotation_comment</em></a><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"string_comment\" class=\"NAME\"><em>string_comment</em></a>:
<br><tt> </tt><font color=\"green\" size=\"+1\">[</font><tt> </tt><em>STRING</em><tt> </tt><font color=\"green\" size=\"+1\">{</font><tt> </tt><font color=\"green\">\"</font><tt>+</tt><font color=\"green\">\"</font><tt> </tt><em>STRING</em><tt> </tt><font color=\"green\" size=\"+1\">}</font><tt> </tt><font color=\"green\" size=\"+1\">]</font>
</p>
<p><a name=\"annotation_comment\" class=\"NAME\"><em>annotation_comment</em></a>:
<br><tt> </tt><strong>annotation</strong><tt> </tt><a href=\"#class_modification\" class=\"HREF\"><em>class_modification</em></a>
</p>
</body></html>"));
end ModelicaGrammar;
package Annotations "Annotations"
extends ModelicaReference.Icons.Information;
class absoluteValue "absoluteValue"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
A simple type or component of a simple type may have the annotation <code>absoluteValue</code>.
Note that this is only relevant for components of a few specific types.
</p>
<p>
If <code>false</code>, then the variable defines a relative quantity, and if <code>true</code> an absolute quantity.
</p>
<h4>Syntax</h4>
<blockquote><pre>
<strong>annotation</strong>\"(\" absoluteValue \"=\" ( <strong>false</strong> | <strong>true</strong> ) \")
</pre></blockquote>
<h4>Description</h4>
<p>
When converting between units (in the user-interface for plotting and entering parameters), the offset must be ignored, for a variable defined with annotation <code>absoluteValue = false</code>.
</p>
<h4>Example usage</h4>
<p>
This annotation is used in the Modelica Standard Library for example in <a href=\"modelica://Modelica.Units.SI\">Modelica.Units.SI</a> for the type definition TemperatureDifference.
</p>
</html>"));
end absoluteValue;
class choices "choices"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Define graphical layout of choices in a parameter menu
</p>
<h4>Description</h4>
<p>
A declaration can have an annotation <code>choices</code> containing modifiers on choice, where each of them indicates a suitable redeclaration or modifications of the element.
This is a hint for users of the model, and can also be used by the user interface to suggest reasonable redeclaration, where the string comments on the choice declaration can be used as textual explanations of the choices. The annotation is not restricted to replaceable elements but can also be applied to non-replaceable elements, enumeration types, and simple variables.
</p>
<p>
For a Boolean variable, a <code>choices</code> annotation may contain the definition <code>checkBox = true</code>, meaning to display a checkbox to input the values <code>false</code> or <code>true</code> in the graphical user interface.
</p>
<h4>Examples</h4>
<blockquote><pre>
<strong>replaceable model</strong> MyResistor=Resistor
<strong>annotation</strong>(choices(
choice(redeclare MyResistor=lib2.Resistor(a={2}) \"...\"),
choice(redeclare MyResistor=lib2.Resistor2 \"...\")));
<strong>replaceable</strong> Resistor Load(R=2) constrainedby TwoPin
<strong>annotation</strong>(choices(
choice(redeclare lib2.Resistor Load(a={2}) \"...\"),
choice(redeclare Capacitor Load(L=3) \"...\")));
<strong>replaceable</strong> FrictionFunction a(func=exp) constrainedby Friction
<strong>annotation</strong>(choices(
choice(redeclare ConstantFriction a(c=1) \"...\"),
choice(redeclare TableFriction a(table=\"...\") \"...\"),
choice(redeclare FunctionFriction a(func=exp) \"...\"))));
<strong>type</strong> KindOfController=Integer(min=1,max=3)
<strong>annotation</strong>(choices(
choice=1 \"P\",
choice=2 \"PI\",
choice=3 \"PID\"));
<strong>model</strong> A
KindOfController x;
<strong>end</strong> A;
A a(x=3 \"PID\");
</pre></blockquote>
<p>
It can also be applied to Boolean variables to define a check box:
</p>
<blockquote><pre>
<strong>parameter</strong> Boolean useHeatPort=false <strong>annotation</strong>(choices(checkBox=true));
</pre></blockquote>
</html>"));
end choices;
class choicesAllMatching "choicesAllMatching"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Automatically display a list of matching choices in a graphical parameter menu.
</p>
<h4>Description</h4>
<p>
Choices menus of replaceable elements can be automatically constructed showing the names of all classes that are either directly or indirectly derived by inheritance from the constraining class of the declaration.
</p>
<p>
This can be recommended by having <code><strong>annotation</strong> choicesAllMatching = true;</code> and disabled by having <code><strong>annotation</strong> choicesAllMatching = false;</code>.
</p>
<h4>Examples</h4>
<blockquote><pre>
<strong>replaceable package</strong> Medium = Modelica.Media.Water.ConstantPropertyLiquidWater
<strong>constrainedby</strong> Modelica.Media.Interfaces.PartialMedium
<strong>annotation</strong> (choicesAllMatching=true);
</pre></blockquote>
</html>"));
end choicesAllMatching;
class dateModified "dateModified"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>UTC date and time of the latest change to the package in the following format (with one space between date and time):<br>
<code>YYYY-MM-DD hh:mm:ssZ</code></p>
<h4>Syntax</h4>
<blockquote><pre>
<strong>annotation</strong>"(" dateModified "=" STRING ")"
</pre></blockquote>
<h4>Description</h4>
<p>
“<code>dateModified</code>” is the UTC date and time (according to <a href=\"http://en.wikipedia.org/wiki/ISO_8601\">ISO 8601</a>) of the last modification of the package.
<em>The intention is that a Modelica tool updates this annotation whenever the package or part of it was modified and is saved on persistent storage (like file or database system).</em>
</p>
<h4>Examples</h4>
<blockquote><pre>
<strong>package</strong> Modelica
<strong>annotation</strong>(version = "3.0.1",
versionDate = "2008-04-10",
<em>dateModified = "2009-02-15 16:33:14Z"</em>,
revisionId = "c04e23a0d 2018-08-01 12:00:00 +0200");
...
<strong>end</strong> Modelica;
</pre></blockquote>
<h5>Related annotations</h5>
<ul>
<li><a href=\"modelica://ModelicaReference.Annotations.revisionId\">revisionId</a></li>
<li><a href=\"modelica://ModelicaReference.Annotations.uses\">uses</a></li>
<li><a href=\"modelica://ModelicaReference.Annotations.version\">version</a></li>
<li><a href=\"modelica://ModelicaReference.Annotations.versionDate\">versionDate</a></li>
</ul>
</html>"));
end dateModified;
class defaultComponentName "defaultComponentName"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Default name when dragging component
</p>
<h4>Syntax</h4>
<blockquote><pre> <strong>annotation</strong>\"(\" defaultComponentName \"=\" STRING \")\"
</pre></blockquote>
<h4>Description</h4>
<p>
When creating a component of the given class, the recommended component name is the
given string.
</p>
</html>"));
end defaultComponentName;
class defaultComponentPrefixes "defaultComponentPrefixes"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Default prefixes when dragging component
</p>
<h4>Examples</h4>
<blockquote><pre><strong>annotation</strong>(defaultComponentPrefixes=\"inner\",
defaultComponentName=\"world\")
</pre></blockquote>
<h4>Syntax</h4>
<blockquote><pre> <strong>annotation</strong>\"(\" defaultComponentPrefixes \"=\" STRING \")\"
</pre></blockquote>
<h4>Description</h4>
<p>
The following prefixes may be included in the string prefixes: inner, outer, replaceable, constant, parameter, discrete. In combination with defaultComponentName it can be used to make it easy for users to create inner components matching the outer declarations.
</p>
</html>"));
end defaultComponentPrefixes;
class defaultConnectionStructurallyInconsistent
"defaultConnectionStructurallyInconsistent"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
A model or block definition may contain the annotation <code>defaultConnectionStructurallyInconsistent</code>.
</p>
<h4>Syntax</h4>
<blockquote><pre>
<strong>annotation</strong>\"(\" defaultConnectionStructurallyInconsistent \"=\" ( <strong>false</strong> | <strong>true</strong> ) \")
</pre></blockquote>
<h4>Description</h4>
<p>
If <code>true</code>, it is stated that a default connection will result in a structurally inconsistent <code>model</code> or <code>block</code>.
A \"default connection\" is constructed by instantiating the respective <code>model</code> or <code>block</code> and for every input <code>u</code> providing an equation <code>0=f(u)</code>, and for every (potential,flow) pair of the form <code>(v,i)</code>, providing an equation of the form <code>0=f(v,i)</code>.
</p>
<h4>Example usage</h4>
<p>
It is useful to check all models/blocks of a Modelica package in a simple way. One check is to default connect every model/block and to check whether the resulting class is structurally consistent (= a stronger requirement as \"balanced\").
</p>
<p>
It is rarely needed; but can be used for InverseBlockConstraints, in order to prevent a wrong error message.
Additionally, when a user defined model is structurally inconsistent, a tool should try to pinpoint in which class the error is present.
This annotation avoids then to show a wrong error message.
</p>
</html>"));
end defaultConnectionStructurallyInconsistent;
class derivative "derivative"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Define derivative of function
</p>
<h4>Examples</h4>
<blockquote><pre><strong>function</strong> foo0 <strong>annotation</strong>(derivative=foo1); <strong>end</strong> foo0;
<strong>function</strong> foo1 <strong>annotation</strong>(derivative(order=2)=foo2); <strong>end</strong> foo1;
<strong>function</strong> foo2 <strong>end</strong> foo2;
</pre></blockquote>
<h4>Description</h4>
<p>
Derivatives of functions can be declared explicitly using the derivative annotation, whereas a function can be defined as a partial derivative of another function using the der-operator in a short function definition.
</p>
<p>
A function declaration can have an annotation derivative specifying the derivative function. This can influence simulation time and accuracy and can be applied to both functions written in Modelica and to external functions. A derivative annotation can state that it is only valid under certain restrictions on the input arguments. These restrictions are defined using the following optional attributes: order (only a restriction if order > 1, the default for order is 1), noDerivative, and zeroDerivative. The given derivative-function can only be used to compute the derivative of a function call if these restrictions are satisfied. There may be multiple restrictions on the derivative, in which case they must all be satisfied. The restrictions also imply that some derivatives of some inputs are excluded from the call of the derivative (since they are not necessary). A function may supply multiple derivative functions subject to different restrictions.
</p>
<p>
The inputs to the derivative function of order 1 are constructed as follows:
</p>
<ul>
<li> First are all inputs to the original function, and after all them we will
in order append one derivative for each input containing reals.<br> </li>
<li> The outputs are constructed by starting with an empty list and then in
order appending one derivative for each output containing reals.<br> </li>
<li> If the Modelica function call is a nth derivative (n>=1), i.e., this
function call has been derived from an (n-1)th derivative, an
annotation(order=n+1)=?, specifies the (n+1)th derivative, and the
(n+1)th derivative call is constructed as follows:<br> </li>
<li> The input arguments are appended with the (n+1)th derivative,
which are constructed in order from the nth order derivatives.<br> </li>
<li> The output arguments are similar to the output argument for the
nth derivative, but each output is one higher in derivative order.</li>
</ul>
<p>
Example: Given the declarations
</p>
<blockquote><pre> function foo0
...
input Real x;
input Boolean linear;
input ...;
output Real y;
...
annotation(derivative=foo1);
end foo0;
function foo1
...
input Real x;
input Boolean linear;
input ...;
input Real der_x;
...
output Real der_y;
...
annotation(derivative(order=2)=foo2);
end foo1;
function foo2
...
input Real x;
input Boolean linear;
input ...;
input Real der_x;
...;
input Real der_2_x;
...
output Real der_2_y;
...
</pre></blockquote>
<p>
the equation
</p>
<blockquote><pre>(...,y(t),...)=foo0(...,x(t),b,...);
</pre></blockquote>
<p>
implies that:
</p>
<blockquote><pre>(...,d y(t)/dt,...)=foo1(...,x(t),b,..., ...,d x(t)/dt,...);
(...,d^2 y(t)/dt^2,...)=foo2(...,x(t),b,...,d x(t)/dt,..., ...,d^2 x(t)/dt^2,...);
</pre></blockquote>
<p>
An input or output to the function may be any simple type (Real, Boolean, Integer, String and enumeration types) or a record, provided the record does not contain both reals and non-reals predefined types. The function must have at least one input containing reals. The output list of the derivative function may not be empty.
</p>
<ul>
<li> zeroDerivative=input_var1<br>
The derivative function is only valid if input_var1 is independent
of the variables the function call is differentiated with respect to
(i.e., that the derivative of input_var1 is \"zero\").
The derivative of input_var1 is excluded from the argument list of the derivative-function.
Assume that function f takes a matrix and a scalar. Since the matrix argument is
usually a parameter expression it is then useful to define the function
as follows (the additional derivative = f_general_der is optional and
can be used when the derivative of the matrix is non-zero).
<blockquote><pre>function f \"Simple table lookup\"
input Real x;
input Real y[:, 2];
output Real z;
annotation(derivative(zeroDerivative=y) = f_der,
derivative=f_general_der);
algorithm
...
end f;
function f_der \"Derivative of simple table lookup\"
input Real x;
input Real y[:, 2];
input Real x_der;
output Real z_der;
algorithm
...
end f_der;
function f_general_der \"Derivative of table lookup taking into account varying tables\"
input Real x;
input Real y[:, 2];
input Real x_der;
input Real y_der[:, 2];
output Real z_der;
algorithm
...
end f_general_der;
</pre></blockquote></li>
<li> noDerivative(input_var2 = f(input_var1, ...) )<br>
The derivative function is only valid if the input argument input_var2
is computed as f(input_var1, ...). The derivative of input_var2
is excluded from the argument list of the derivative-function.
Assume that function fg is defined as a composition f(x, g(x)).
When differentiating f it is useful to give the derivative under the
assumption that the second argument is defined in this way:
<blockquote><pre>function fg
input Real x;
output Real z;
algorithm
z := f(x, g(x));
end fg;
function f
input Real x;
input Real y;
output Real z;
annotation(derivative(noDerivative=y) = f_der);
algorithm
...
end f;
function f_der
input Real x;
input Real x_der;
input Real y;
output Real z_der;
algorithm
...
end f_der;
</pre></blockquote>
This is useful if g represents the major computational effort of fg).</li>
</ul>
</html>"));
end derivative;
class Dialog "Dialog"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Define graphical layout of the parameter menu.
</p>
<h4>Syntax</h4>
<blockquote><pre><strong>annotation</strong>(<strong>Dialog</strong>(<strong>enable</strong> = true,
<strong>tab</strong> = \"General\",
<strong>group</strong> = \"Parameters\",
<strong>showStartAttribute</strong> = false,
<strong>colorSelector</strong> = false,
<strong>groupImage</strong> = \"modelica://MyPackage/Resources/Images/image.png\",
<strong>connectorSizing</strong> = false));
</pre></blockquote>
<h4>Description</h4>
<p>
The annotations <strong><code>tab</code></strong> and <strong><code>group</code></strong> define the placement of the component or of variables in a dialog with optional tab and group specification. If <code><strong>enable</strong> = false</code>, the input field may be disabled [and no input can be given]. If <code><strong>showStartAttribute</strong> = true</code> the dialog should allow the user to set the start-value and the fixed attribute for the variable instead of the value-attribute [this is primarily intended for non-parameter values and avoids introducing a separate parameter for the start-value of the variable].
</p>
<p>
If <code>colorSelector=true</code>, it indicates that an rgb-value selector can be presented for a vector of three elements and generate values <code>0..255</code> (the annotation should be usable both for vectors of Integers and Reals).
</p>
<p>
The annotation <strong><code>groupImage</code></strong> references an image using an Modelica URI, and the image is intended to be shown together with the parameter-group (only one image per group is supported). Disabling the input field will not disable the image.
</p>
<p>
The value of the <strong><code>connectorSizing</code></strong> annotation must be a literal false or true value [since if the value is an expression, the <code>connectorSizing</code> functionality is conditional and this will then lead easily to wrong models]. If <code>connectorSizing = false</code>, this annotation has no effect. If <code>connectorSizing = true</code>, the corresponding variable must be declared with the parameter prefix, must be a subtype of a scalar Integer and must have a literal default value of zero [since this annotation is designed for a parameter that is used as vector dimension and the dimension of the vector should be zero when the component is dragged or redeclared; furthermore, when a tool does not support the connectorSizing annotation, dragging will still result in a correct model].
If <code>connectorSizing = true</code>, a tool may set the parameter value in a modifier automatically, if used as dimension size of a vector of connectors. [The <code>connectorSizing</code> annotation is used in cases where connections to a vector of connectors shall be made and a new connection requires to resize the vector and to connect to the new index (unary connections). The annotation allows a tool to perform these two actions in many cases automatically. This is, e.g., very useful for state machines and for certain components of fluid libraries.]
</p>
<p>
Annotation \"Dialog\" is defined as:
</p>
<blockquote><pre><strong>record</strong> Dialog
<strong>parameter</strong> String tab = \"General\";
<strong>parameter</strong> String group = \"Parameters\";
<strong>parameter</strong> String groupImage = \"\";
<strong>parameter</strong> Boolean enable = <strong>true</strong>;
<strong>parameter</strong> Boolean showStartAttribute = <strong>false</strong>;
<strong>parameter</strong> Boolean connectorSizing = <strong>false</strong>;
<strong>parameter</strong> Boolean colorSelector = <strong>false</strong>;
<strong>parameter</strong> Selector loadSelector;
<strong>parameter</strong> Selector saveSelector;
<strong>end</strong> Dialog;
<strong>record</strong> Selector
<strong>parameter</strong> String filter=\"\";
<strong>parameter</strong> String caption=\"\";
<strong>end</strong> Selector;
</pre></blockquote>
<h4>Examples</h4>
<p>
A parameter dialog is a sequence of tabs with a sequence of groups inside them.
</p>
<p>
A <code>Selector</code> displays a file dialog to select a file: Parameter <code>filter</code> only shows files that fulfill the given pattern defined by \"<code>text1 (*.ext1);;text2 (*.ext2);</code>\" to show only files with file extension <code>*.ext1</code> or <code>*.ext2</code> and displaying a description text \"<code>text1</code>\" and \"<code>text2</code>\", respectively. Parameter caption is the text displayed in the dialog menu. Parameter <code>loadSelector</code> is used to select an existing file for reading, whereas parameter <code>saveSelector</code> is used to define a file for writing.
</p>
<blockquote><pre><strong>model</strong> DialogDemo
<strong>parameter</strong> Boolean b = true \"Boolean parameter\";
<strong>parameter</strong> Modelica.Units.SI.Length length \"Real parameter with unit\";
<strong>parameter</strong> Integer nInports=0 annotation(Dialog(connectorSizing=true));
<strong>parameter</strong> Real r1 \"Real parameter in Group 1\" annotation(Dialog(group=\"Group 1\"));
<strong>parameter</strong> Real r2 \"Disabled Real parameter in group 1\"
<strong>annotation</strong>(<strong>Dialog</strong>(<strong>group</strong>=\"Group 1\", <strong>enable</strong> = <strong>not</strong> b));
<strong>parameter</strong> Real r3 \"Real parameter in Tab 1\" <strong>annotation</strong>(<strong>Dialog</strong>(<strong>tab</strong>=\"Tab 1\"));
<strong>parameter</strong> Real r4 \"Real parameter in Tab 1 and Group 2\"
<strong>annotation</strong>(<strong>Dialog</strong>(<strong>tab</strong>=\"Tab 1\", <strong>group</strong>=\"Group 2\"));
StepIn stepIn[nInports];
...
<strong>end</strong> DialogDemo;
</pre></blockquote>
</html>"));
end Dialog;
class Documentation "Documentation"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Annotations for documentation
</p>
<h4>Syntax</h4>
<blockquote><pre>
documentation_annotation:
<strong>annotation</strong>\"(\" Documentation \"(\" \"info\" \"=\" STRING
[\",\" \"revisions\" \"=\" STRING ] \")\" \")\"
</pre></blockquote>
<h4>Description</h4>
<p>
The \"Documentation\" annotation can contain the \"info\" annotation giving a textual description, the \"revisions\" annotation giving a list of revisions and other annotations defined by a tool [The \"revisions\" documentation may be omitted in printed documentation]. How the tool interprets the information in \"Documentation\" is unspecified. Within a string of the \"Documentation\" annotation, the tags <HTML> and </HTML> or <html> and </html> define the start and end of content that is HTML encoded. Links to Modelica classes may be defined with the HTML link command using scheme \"Modelica\", e.g.,
</p>
<blockquote><pre>
<a href=\"modelica://ExamplePackage.Tutorial\">ExamplePackage.Tutorial</a>
</pre></blockquote>
<p>
Together with scheme \"Modelica\" the (URI) fragment specifiers #diagram, #info, #text, #icon may be used to reference different layers. Example:
</p>
<blockquote><pre>
<a href=\"modelica://ExamplePackage.SimpleModel#info\">SimpleModel</a>
</pre></blockquote>
</html>"));
end Documentation;
class DocumentationClass "DocumentationClass"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Annotation for defining documentation classes
</p>
<h4>Syntax</h4>
<blockquote><pre>documentation class_annotation:
<strong>annotation</strong>\"(\" DocumentationClass \"=\" <strong>true</strong> \")\"
</pre></blockquote>
<h4>Description</h4>
<p>
Only allowed as class annotation on any kind of class and implies that this class and all
classes within it are treated as having the annotation preferredView=\"info\".
If the annotation preferredView is explicitly set for a class, it has precedence over
a DocumentationClass annotation.
</p>
<p><em>
[A tool may display such classes in special ways. For example, the
description texts of the classes might be displayed instead of the class
names, and if no icon is defined, a special information default icon may be
displayed in the package browser.]
</em></p>
</html>"));
end DocumentationClass;
class DynamicSelect "DynamicSelect"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Define schematic animation of diagram layer
</p>
<h4>Examples</h4>
<p>
The level of a tank is animated by a rectangle expanding in vertical direction and its color depending on a variable overflow:
</p>
<blockquote><pre><strong>annotation</strong>(
Icon(graphics={Rectangle(
extent=<strong>DynamicSelect</strong>({{0,0},{20,20}},{{0,0},{20,level}}),
fillColor=<strong>DynamicSelect</strong>({0,0,255},
<strong>if</strong> overflow <strong>then</strong> {255,0,0} <strong>else</strong> {0,0,255}))}
);
</pre></blockquote>
<h4>Description</h4>
<p>
Any value (coordinates, color, text, etc.) in graphical annotations can be dependent on class variables using the DynamicSelect expression. DynamicSelect has the syntax of a function call with two arguments, where the first argument specifies the value of the editing state and the second argument the value of the non-editing state. The first argument must be a literal expression
and this value is used for the annotation when editing and/or browsing the diagram layer.
The second argument may contain references to variables to enable a dynamic behavior
and the actual value is used for the annotation for schematic animation
of the diagram layer, e.g., after a simulation.
</p>
</html>"));
end DynamicSelect;
class Evaluate "Evaluate"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Annotation for code generation (evaluate parameter value)
</p>
<h4>Syntax</h4>
<blockquote><pre> <strong>annotation</strong>\"(\" Evaluate \"=\" ( <strong>false</strong> | <strong>true</strong> ) \")
</pre></blockquote>
<h4>Description</h4>
<p>
The annotation Evaluate can occur in the component declaration, its type declaration, or a base-class of the type-declaration.
In the case of multiple conflicting annotations it is handled similarly to modifiers (e.g., an Evaluate-annotation on the component declaration takes precedence).
The annotation Evaluate only has effect for a component declared with the prefix <code>parameter</code>.
</p>
<p>
If Evaluate = true, the model developer proposes to utilize the value for the symbolic processing. In that case, it is not possible to change the parameter value after symbolic pre-processing.
</p>
<p>
If Evaluate = false, the model developer proposes to not utilize the value of the corresponding parameter for the symbolic processing.
</p>
<p>
Evaluate is for example used for axis of rotation parameters in the Modelica.Mechanics.MultiBody library in order to improve the efficiency of the generated code
</p>
</html>"));
end Evaluate;
class experiment "experiment"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Define default experiment parameters
</p>
<h4>Examples</h4>
<blockquote><pre><strong>annotation</strong>(experiment(StartTime=0, StopTime=5, Tolerance=1e-6))
</pre></blockquote>
<h4>Syntax</h4>
<blockquote><pre>experiment_annotation:
<strong>annotation</strong>\"(\" \"experiment\" \"(\" [experimentOption] {, experimentOption}] \")\"
experimentOption:
StartTime \"=\" [\"+\" | \"-\"] UNSIGNED_NUMBER |
StopTime \"=\" [\"+\" | \"-\"] UNSIGNED_NUMBER |
Interval \"=\" UNSIGNED_NUMBER
Tolerance \"=\" UNSIGNED_NUMBER
</pre></blockquote>
<h4>Description</h4>
<p>
The experiment annotation defines the default start time (<code>StartTime</code>) in [s], the default stop time (<code>StopTime</code>) in [s], the suitable time resolution for the result grid (<code>Interval</code>) in [s], and the default relative integration tolerance (<code>Tolerance</code>) for simulation experiments to be carried out with the model or block at hand.
</p>
</html>"));
end experiment;
class HideResult "HideResult"
extends ModelicaReference.Icons.Information;
annotation (Documentation(info="<html>
<p>
Annotation for code generation (hide result)
</p>
<h4>Syntax</h4>
<blockquote><pre> <strong>annotation</strong>\"(\" HideResult \"=\" ( <strong>false</strong> | <strong>true</strong> ) \")
</pre></blockquote>