libutap  0.93
Uppaal Timed Automata Parser
abstractbuilder.cpp
Go to the documentation of this file.
1 // -*- mode: C++; c-file-style: "stroustrup"; c-basic-offset: 4; indent-tabs-mode: nil; -*-
2 
3 /* libutap - Uppaal Timed Automata Parser.
4  Copyright (C) 2002-2006 Uppsala University and Aalborg University.
5 
6  This library is free software; you can redistribute it and/or
7  modify it under the terms of the GNU Lesser General Public License
8  as published by the Free Software Foundation; either version 2.1 of
9  the License, or (at your option) any later version.
10 
11  This library is distributed in the hope that it will be useful, but
12  WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public
17  License along with this library; if not, write to the Free Software
18  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19  USA
20 */
21 
22 #include "utap/abstractbuilder.h"
23 
24 #include <cstdarg>
25 #include <cstdio>
26 #include <cinttypes>
27 #include <climits>
28 #include <cmath>
29 #include <cassert>
30 #include <vector>
31 
32 using namespace UTAP;
33 
34 void ParserBuilder::handleWarning(const char *msg, ...)
35 {
36  char str[256];
37  va_list ap;
38  va_start(ap, msg);
39  vsnprintf(str, 256, msg, ap);
40  va_end(ap);
41 
42  handleWarning(std::string(str));
43 }
44 
45 void ParserBuilder::handleError(const char *msg, ...)
46 {
47  char str[256];
48  va_list ap;
49  va_start(ap, msg);
50  vsnprintf(str, 256, msg, ap);
51  va_end(ap);
52 
53  handleError(std::string(str));
54 }
55 
57 {
58 }
59 
60 void AbstractBuilder::setPosition(uint32_t start, uint32_t end)
61 {
62  position.start = start;
63  position.end = end;
64 }
65 
66 bool AbstractBuilder::isType(const char*)
67 {
68  return false;
69 }
70 
72 {
73  throw NotSupportedException("typeDuplicate is not supported");
74 }
75 
77 {
78  throw NotSupportedException("typePop is not supported");
79 }
80 
82 {
83  throw NotSupportedException("typeBool is not supported");
84 }
85 
87 {
88  throw NotSupportedException("typeInt is not supported");
89 }
90 
92 {
93  throw NotSupportedException("typeDouble is not supported");
94 }
95 
97 {
98  throw NotSupportedException("typeBoundedInt is not supported");
99 }
100 
102 {
103  throw NotSupportedException("typeChannel is not supported");
104 }
105 
107 {
108  throw NotSupportedException("typeClock is not supported");
109 }
110 
112 {
113  throw NotSupportedException("typeVoid is not supported");
114 }
115 
117 {
118  throw NotSupportedException("typeScalar is not supported");
119 }
120 
121 void AbstractBuilder::typeName(PREFIX, const char* name)
122 {
123  throw NotSupportedException("typeName is not supported");
124 }
125 
126 void AbstractBuilder::typeStruct(PREFIX, uint32_t fields)
127 {
128  throw NotSupportedException("typeStruct is not supported");
129 }
130 
132 {
133  throw NotSupportedException("typeArrayOfSize is not supported");
134 }
135 
137 {
138  throw NotSupportedException("typeArrayOfType is not supported");
139 }
140 
141 void AbstractBuilder::structField(const char* name)
142 {
143  throw NotSupportedException("structField is not supported");
144 }
145 
146 void AbstractBuilder::declTypeDef(const char* name)
147 {
148  throw NotSupportedException("declTypeDef is not supported");
149 }
150 
151 void AbstractBuilder::declVar(const char* name, bool init)
152 {
153  throw NotSupportedException("declVar is not supported");
154 }
155 
157 {
158  throw NotSupportedException("declInitialieserList is not supported");
159 }
160 
161 void AbstractBuilder::declFieldInit(const char* name)
162 {
163  throw NotSupportedException("declFieldInit is not supported");
164 }
165 
166 void AbstractBuilder::ganttDeclStart(const char* name)
167 {
168  throw NotSupportedException("ganttDeclStart is not supported");
169 }
170 
172 {
173  throw NotSupportedException("ganttDeclSelect is not supported");
174 }
175 
177 {
178  throw NotSupportedException("ganttDeclEnd is not supported");
179 }
180 
182 {
183  throw NotSupportedException("ganttStart is not supported");
184 }
185 
187 {
188  throw NotSupportedException("ganttEntrySelect is not supported");
189 }
190 
192 {
193  throw NotSupportedException("ganttEntryEnd is not supported");
194 }
195 
197 {
198  throw NotSupportedException("declProgress is not supported");
199 }
200 
201 void AbstractBuilder::declParameter(const char* name, bool)
202 {
203  throw NotSupportedException("declParameter is not supported");
204 }
205 
206 void AbstractBuilder::declFuncBegin(const char* name)
207 {
208  throw NotSupportedException("declFuncBegin is not supported");
209 }
210 
212 {
213  throw NotSupportedException("declFuncEnd is not supported");
214 }
215 
216 void AbstractBuilder::procBegin(const char* name, const bool isTA,
217  const std::string type, const std::string mode)
218 {
219  throw NotSupportedException("procBegin is not supported");
220 }
221 
223 {
224  throw NotSupportedException("procEnd is not supported");
225 }
226 
227 void AbstractBuilder::procState(const char* name, bool hasInvariant, bool hasER)
228 {
229  throw NotSupportedException("procState is not supported");
230 }
231 
232 void AbstractBuilder::procStateCommit(const char* name)
233 {
234  throw NotSupportedException("procStateCommit is not supported");
235 }
236 
237 void AbstractBuilder::procStateUrgent(const char* name)
238 {
239  throw NotSupportedException("procStateUrgent is not supported");
240 }
241 
242 void AbstractBuilder::procStateInit(const char* name)
243 {
244  throw NotSupportedException("procStateInit is not supported");
245 }
246 
247 void AbstractBuilder::procBranchpoint(const char* name)
248 {
249  throw NotSupportedException("procBranchpoint is not supported");
250 }
251 
252 void AbstractBuilder::procEdgeBegin(const char* from, const char* to, const bool control, const char* actname)
253 
254 {
255  throw NotSupportedException("procEdgeBegin is not supported");
256 }
257 
258 void AbstractBuilder::procEdgeEnd(const char* from, const char* to)
259 {
260  throw NotSupportedException("procEdgeEnd is not supported");
261 }
262 
263 void AbstractBuilder::procSelect(const char* id)
264 {
265  throw NotSupportedException("procSelect is not supported");
266 }
267 
269 {
270  throw NotSupportedException("procGuard is not supported");
271 }
272 
274 {
275  throw NotSupportedException("procSync is not supported");
276 }
277 
279 {
280  throw NotSupportedException("procUpdate is not supported");
281 }
283 {
284  throw NotSupportedException("procProb is not supported");
285 }
286 
287 //LSC
289 {
290  throw NotSupportedException("procMessage is not supported");
291 }
292 
294 {
295  throw NotSupportedException("procInstanceLine is not supported");
296 }
297 
299 {
300  throw NotSupportedException("instanceNameBegin is not supported");
301 }
302 
303 void AbstractBuilder::instanceNameEnd(const char *name, size_t arguments)
304 {
305  throw NotSupportedException("instancNameEnd is not supported");
306 }
307 
308 void AbstractBuilder::instanceName(const char* name, bool templ)
309 {
310  throw NotSupportedException("instanceName is not supported");
311 }
312 
313 void AbstractBuilder::procMessage(const char* from, const char* to,
314  const int loc, const bool pch)
315 {
316  throw NotSupportedException("procMessage is not supported");
317 }
318 void AbstractBuilder::procCondition(const std::vector<char*> anchors, const int loc,
319  const bool pch, const bool hot)
320 {
321  throw NotSupportedException("procCondition is not supported");
322 }
324 {
325  throw NotSupportedException("procCondition is not supported");
326 }
327 void AbstractBuilder::procLscUpdate(const char* anchor, const int loc, const bool pch)
328 {
329  throw NotSupportedException("procLscUpdate is not supported");
330 }
332 {
333  throw NotSupportedException("procLscUpdate is not supported");
334 }
335 void AbstractBuilder::hasPrechart(const bool pch)
336 {
337  throw NotSupportedException("hasPrechart is not supported");
338 }
339 //end LSC
340 
342 {
343  throw NotSupportedException("procBegin is not supported");
344 }
345 
347 {
348  throw NotSupportedException("procEnd is not supported");
349 }
350 
352 {
353  throw NotSupportedException("emptyStatement is not supported");
354 }
355 
357 {
358  throw NotSupportedException("forBegin is not supported");
359 }
360 
362 {
363  throw NotSupportedException("forEnd is not supported");
364 }
365 
366 void AbstractBuilder::iterationBegin (const char *name)
367 {
368  throw NotSupportedException("iterationBegin is not supported");
369 }
370 
371 void AbstractBuilder::iterationEnd (const char *name)
372 {
373  throw NotSupportedException("iterationEnd is not supported");
374 }
375 
377 {
378  throw NotSupportedException("whileBegin is not supported");
379 }
380 
382 {
383  throw NotSupportedException("whileEnd is not supported");
384 }
385 
387 {
388  throw NotSupportedException("doWhileBegin is not supported");
389 }
390 
392 {
393  throw NotSupportedException("doWhileEnd is not supported");
394 }
395 
397 {
398  throw NotSupportedException("ifBegin is not supported");
399 }
400 
402 {
403  throw NotSupportedException("ifCondition is not supported");
404 }
405 
407 {
408  throw NotSupportedException("ifThen is not supported");
409 }
410 
412 {
413  throw NotSupportedException("ifThenElse is not supported");
414 }
415 
417 {
418  throw NotSupportedException("breakStatement is not supported");
419 }
420 
422 {
423  throw NotSupportedException("continueStatement is not supported");
424 }
425 
427 {
428  throw NotSupportedException("switchStatement is not supported");
429 }
430 
432 {
433  throw NotSupportedException("switchEnd is not supported");
434 }
435 
437 {
438  throw NotSupportedException("caseBegin is not supported");
439 
440 }
441 
443 {
444  throw NotSupportedException("caseEnd is not supported");
445 }
446 
448 {
449  throw NotSupportedException("defaultBegin is not supported");
450 }
451 
453 {
454  throw NotSupportedException("defaultEnd is not supported");
455 }
456 
458 {
459  throw NotSupportedException("exprStatement is not supported");
460 }
461 
463 {
464  throw NotSupportedException("returnStatement is not supported");
465 }
466 
468 {
469  throw NotSupportedException("assertStatement is not supported");
470 }
471 
473 {
474  throw NotSupportedException("exprTrue is not supported");
475 }
476 
478 {
479  throw NotSupportedException("exprFalse is not supported");
480 }
481 
483 {
484  throw NotSupportedException("exprDouble is not supported");
485 }
486 
487 void AbstractBuilder::exprId(const char * varName)
488 {
489  throw NotSupportedException("exprId is not supported");
490 }
491 
493 {
494  throw NotSupportedException("exprNar is not supported");
495 }
496 
498 {
499  throw NotSupportedException("exprCallBegin is not supported");
500 }
501 
503 {
504  throw NotSupportedException("exprCallEnd is not supported");
505 }
506 
508 {
509  throw NotSupportedException("exprArray is not supported");
510 }
511 
513 {
514  throw NotSupportedException("exprPostIncrement is not supported");
515 }
516 
518 {
519  throw NotSupportedException("exprPreIncrement is not supported");
520 }
521 
523 {
524  throw NotSupportedException("exprPostDecrement is not supported");
525 }
526 
528 {
529  throw NotSupportedException("exprPreDecrement is not supported");
530 }
531 
533 {
534  throw NotSupportedException("exprAssignment is not supported");
535 }
536 
538 {
539  throw NotSupportedException("exprUnary is not supported");
540 }
541 
543 {
544  throw NotSupportedException("exprBinary is not supported");
545 }
546 
548 {
549  throw NotSupportedException("exprNary is not supported");
550 }
551 
552 //LSC
553 void AbstractBuilder::exprScenario(const char* name)
554 {
555  throw NotSupportedException("exprScenario is not supported");
556 }
557 // end LSC
558 
559 void AbstractBuilder::exprTernary(Constants::kind_t ternaryop, bool firstMissing)
560 {
561  throw NotSupportedException("exprTernary is not supported");
562 }
563 
565 {
566  throw NotSupportedException("exprInlineIf is not supported");
567 }
568 
570 {
571  throw NotSupportedException("exprComma is not supported");
572 }
573 
574 void AbstractBuilder::exprDot(const char *)
575 {
576  throw NotSupportedException("exprDot is not supported");
577 }
578 
580 {
581  throw NotSupportedException("exprDeadlock is not supported");
582 }
583 
584 void AbstractBuilder::exprForAllBegin(const char *name)
585 {
586  throw NotSupportedException("exprForAllBegin is not supported");
587 }
588 
589 void AbstractBuilder::exprForAllEnd(const char *name)
590 {
591  throw NotSupportedException("exprForAllEnd is not supported");
592 }
593 
594 void AbstractBuilder::exprSumBegin(const char *name)
595 {
596  throw NotSupportedException("exprSumBegin is not supported");
597 }
598 
599 void AbstractBuilder::exprSumEnd(const char *name)
600 {
601  throw NotSupportedException("exprSumEnd is not supported");
602 }
603 
605 {
606  throw NotSupportedException("exprSimulate is not supported");
607 }
608 
610 {
611  throw NotSupportedException("exprBuiltinFunction1 is not supported");
612 }
613 
615 {
616  throw NotSupportedException("exprBuiltinFunction2 is not supported");
617 }
618 
620 {
621  throw NotSupportedException("exprMitlUntil is not supported");
622 }
623 
625 {
626  throw NotSupportedException("exprMitlUntil is not supported");
627 }
628 
630 {
631  throw NotSupportedException("exprMitlRelease is not supported");
632 }
633 
635 {
636  throw NotSupportedException("exprMitlDisj is not supported");
637 }
638 
640 {
641  throw NotSupportedException("exprMitlConj is not supported");
642 }
643 
645 {
646  throw NotSupportedException("exprMitlNext is not supported");
647 }
648 
650  throw NotSupportedException("exprMitlAtom is not supported");
651 }
652 
654 {
655  throw NotSupportedException("exprSMCControl is not supported");
656 }
657 
659 {
660  throw NotSupportedException("exprProbaQualitative is not supported");
661 }
662 
664 {
665  throw NotSupportedException("exprProbaQuantitative is not supported");
666 }
667 
669 {
670  throw NotSupportedException("exprProbaCompare is not supported");
671 }
672 
674 {
675  throw NotSupportedException("exprProbaExpected is not supported");
676 }
677 
678 void AbstractBuilder::exprExistsBegin(const char *name)
679 {
680  throw NotSupportedException("exprExistsBegin is not supported");
681 }
682 
683 void AbstractBuilder::exprExistsEnd(const char *name)
684 {
685  throw NotSupportedException("exprExistsEnd is not supported");
686 }
687 
688 void AbstractBuilder::instantiationBegin(const char*, size_t, const char*)
689 {
690  throw NotSupportedException("instantiationBegin is not supported");
691 }
692 
693 void AbstractBuilder::instantiationEnd(const char *, size_t, const char *, size_t)
694 {
695  throw NotSupportedException("instantiationEnd is not supported");
696 }
697 
698 void AbstractBuilder::process(const char*)
699 {
700  throw NotSupportedException("process is not supported");
701 }
703 {
704  throw NotSupportedException("processListEnd is not supported");
705 }
706 
707 //LSC
708 void AbstractBuilder::scenario(const char*)
709 {
710  throw NotSupportedException("scenario is not supported");
711 }
712 
713 void AbstractBuilder::parse(const char*)
714 {
715  throw NotSupportedException("parse is not supported");
716 }
717 //end LSC
718 
720 {
721 }
722 
723 void AbstractBuilder::handleExpect(const char* text)
724 {
725 }
726 
728 {
729  throw NotSupportedException("property is not supported");
730 }
731 
733 {
734  throw NotSupportedException("beforeUpdate is not supported");
735 }
736 
738 {
739  throw NotSupportedException("afterUpdate is not supported");
740 }
741 
743 {
744  throw NotSupportedException("beginChanPriority is not supported");
745 }
746 
748 {
749  throw NotSupportedException("addChanPriority is not supported");
750 }
751 
753 {
754  throw NotSupportedException("defaultChanPriority is not supported");
755 }
756 
758 {
759  throw NotSupportedException("incProcPriority is not supported");
760 }
761 
763 {
764  throw NotSupportedException("procPriority is not supported");
765 }
766 
768 {
769  throw NotSupportedException("exprSync is not supported");
770 }
771 
772 void AbstractBuilder::declIO(const char*,int,int)
773 {
774  throw NotSupportedException("declIO is not supported");
775 }
776 
777 void AbstractBuilder::declDynamicTemplate(const std::string&)
778 {
779  throw NotSupportedException("declDynamicTemplate is not supported");
780 }
781 
783  throw NotSupportedException("exprSpawn is not supported");
784 }
785 
787  throw NotSupportedException("exprExit is not supported");
788 }
789 
791  throw NotSupportedException("exprNumOf is not supported");
792 }
793 
794 
795 void AbstractBuilder::exprForAllDynamicBegin (const char*,const char* )
796 {
797  throw NotSupportedException("exprForAllDynamicBegin is not supported");
798 }
800 {
801  throw NotSupportedException("exprForAllDynamicEnd is not supported");
802 }
803 void AbstractBuilder::exprExistsDynamicBegin (const char* ,const char*)
804 {
805  throw NotSupportedException("exprExistsAllDynamicBegin is not supported");
806 }
807 
809 {
810  throw NotSupportedException("exprExistsAllDynamicEnd is not supported");
811 }
812 void AbstractBuilder::exprSumDynamicBegin (const char* ,const char*)
813 {
814  throw NotSupportedException("exprSumDynamicBegin is not supported");
815 }
816 
817 void AbstractBuilder::exprSumDynamicEnd (const char* name)
818 {
819  throw NotSupportedException("exprSumDynamicEnd is not supported");
820 }
821 void AbstractBuilder::exprForeachDynamicBegin (const char* ,const char*)
822 {
823  throw NotSupportedException("exprForeachDynamicBegin is not supported");
824 }
825 
827 {
828  throw NotSupportedException("exprForeachDynamicEnd is not supported");
829 }
831 {
832  throw NotSupportedException("exprDynamicProcessExpr is not supported");
833 }
834 
835 void AbstractBuilder::exprMITLForAllDynamicBegin (const char*,const char*)
836 {
837  throw NotSupportedException("exprMITLDynamicForAllBegin is not supported");
838 }
839 
841 {
842  throw NotSupportedException("exprMITLDynamicForAllEnd is not supported");
843 }
844 void AbstractBuilder::exprMITLExistsDynamicBegin (const char*,const char*)
845 {
846  throw NotSupportedException("exprMITLDynamicExistsBegin is not supported");
847 }
849 {
850  throw NotSupportedException("exprMITLDynamicExistsEnd is not supported");
851 }
853 {
854  throw NotSupportedException("queryBegin not implemented is not supported");
855 }
857 {
858  throw NotSupportedException("queryEnd is not supported");
859 }
860 void AbstractBuilder::queryFormula(const char*, const char*)
861 {
862  throw NotSupportedException("queryFormula is not supported");
863 }
865 {
866  throw NotSupportedException("queryComment is not supported");
867 }
void exprForAllBegin(const char *name) override
void doWhileBegin() override
void exprMITLForAllDynamicEnd(const char *name) override
void typeBool(PREFIX) override
Called whenever a boolean type is parsed.
void exprForeachDynamicBegin(const char *, const char *) override
void exprSpawn(int) override
void ganttEntryStart() override
void exprMitlConj() override
void exprSumEnd(const char *name) override
void exprInlineIf() override
void exprPostDecrement() override
void exprDot(const char *) override
void exprComma() override
void exprForAllDynamicBegin(const char *, const char *) override
void exprCallEnd(uint32_t n) override
void exprMITLForAllDynamicBegin(const char *, const char *) override
void structField(const char *name) override
Called to declare a field of a structure.
void ganttEntrySelect(const char *id) override
void exprExit() override
void instantiationBegin(const char *, size_t, const char *) override
void typeScalar(PREFIX) override
Called whenever a scalar type is parsed.
void declVar(const char *name, bool init) override
Called to when a variable declaration has been parsed.
void returnStatement(bool) override
void afterUpdate() override
void emptyStatement() override
void instantiationEnd(const char *, size_t, const char *, size_t) override
void handleExpect(const char *text) override
void exprMitlAtom() override
void exprFalse() override
void exprMITLExistsDynamicEnd(const char *name) override
void exprTernary(Constants::kind_t ternaryop, bool firstMissing) override
void scenario(const char *) override
void declFieldInit(const char *name) override
void continueStatement() override
void blockBegin() override
void declDynamicTemplate(const std::string &) override
Dynamic.
void exprCallBegin() override
void instanceName(const char *name, bool templ=true) override
void whileBegin() override
void forBegin() override
void typeVoid() override
Called whenever a void type is parsed.
bool isType(const char *) override
Must return true if and only if name is registered in the symbol table as a named type...
void procState(const char *name, bool hasInvariant, bool hasER) override
void exprProbaQualitative(Constants::kind_t, Constants::kind_t, double) override
void breakStatement() override
void typeArrayOfSize(size_t) override
Called to create an array type.
void procInstanceLine() override
void parse(const char *) override
void queryFormula(const char *formula, const char *location) override
void exprSumDynamicEnd(const char *) override
void exprPreDecrement() override
void defaultChanPriority() override
void iterationBegin(const char *name) override
void exprDouble(double) override
void exprSumDynamicBegin(const char *, const char *) override
void exprDeadlock() override
void doWhileEnd() override
void process(const char *) override
void procUpdate() override
void typeArrayOfType(size_t) override
Called to create an array type.
void exprDynamicProcessExpr(const char *) override
void defaultBegin() override
void ganttEntryEnd() override
void declFuncEnd() override
void procBegin(const char *name, const bool isTA=true, const std::string type="", const std::string mode="") override
void exprStatement() override
void assertStatement() override
void procStateInit(const char *name) override
void exprMitlUntil(int, int) override
void processListEnd() override
void exprProbaQuantitative(Constants::kind_t) override
void procEdgeEnd(const char *from, const char *to) override
void procGuard() override
void beginChanPriority() override
void queryEnd() override
void exprPostIncrement() override
void declFuncBegin(const char *name) override
void hasPrechart(const bool pch) override
void exprNumOf() override
void exprId(const char *varName) override
void typeInt(PREFIX) override
Called whenever an integer type is parsed.
void queryBegin() override
Verification queries.
void defaultEnd() override
void exprExistsDynamicEnd(const char *name) override
void exprMitlFormula() override
void typeDouble(PREFIX) override
Called whenever a double type is parsed.
void queryComment(const char *comment) override
void exprScenario(const char *name) override
void ganttDeclSelect(const char *id) override
void typeChannel(PREFIX) override
Called whenever a channel type is parsed.
void exprForAllEnd(const char *name) override
void procSync(Constants::synchronisation_t type) override
void procStateCommit(const char *name) override
void incProcPriority() override
void procSelect(const char *id) override
void ganttDeclEnd() override
void iterationEnd(const char *name) override
void exprBuiltinFunction1(Constants::kind_t) override
void exprProbaExpected(const char *) override
virtual void handleError(const std::string &)=0
void exprTrue() override
void exprNary(Constants::kind_t, uint32_t num) override
void typeDuplicate() override
Duplicate type at the top of the type stack.
void exprArray() override
void setPosition(uint32_t, uint32_t) override
Sets the current position.
void exprBuiltinFunction2(Constants::kind_t) override
void switchEnd() override
void exprMitlDisj() override
void exprProbaCompare(Constants::kind_t, Constants::kind_t) override
void typeClock(PREFIX) override
Called whenever a clock type is parsed.
void declProgress(bool) override
Guard progress measure declaration.
void typeStruct(PREFIX, uint32_t fields) override
Called when a struct-type has been parsed.
void declInitialiserList(uint32_t num) override
void exprMITLExistsDynamicBegin(const char *, const char *) override
void exprSimulate(int, bool=false, int=0) override
void typeBoundedInt(PREFIX) override
Called whenever an integer type with a range is parsed.
void exprUnary(Constants::kind_t unaryop) override
void procMessage(const char *from, const char *to, const int loc, const bool pch) override
void declTypeDef(const char *name) override
Used when a typedef declaration was parsed.
void declIO(const char *, int, int) override
void ifCondition() override
void caseBegin() override
void typePop() override
Pop type at the topof the type stack.
void procLscUpdate() override
void procPriority(const char *) override
void exprSumBegin(const char *name) override
void beforeUpdate() override
void exprExistsDynamicBegin(const char *, const char *) override
void exprSMCControl() override
void exprNat(int32_t) override
void exprAssignment(Constants::kind_t op) override
void exprExistsBegin(const char *name) override
void exprPreIncrement() override
void procBranchpoint(const char *name) override
void ganttDeclStart(const char *name) override
void property() override
void procStateUrgent(const char *name) override
void exprMitlRelease(int, int) override
virtual void handleWarning(const std::string &)=0
void instanceNameBegin(const char *name) override
void switchBegin() override
void exprSync(Constants::synchronisation_t type) override
void instanceNameEnd(const char *name, size_t arguments) override
void typeName(PREFIX, const char *name) override
Called when a type name has been parsed.
void procEdgeBegin(const char *from, const char *to, const bool control, const char *actname) override
Definition: lexer.cc:817
void ifEnd(bool) override
void addChanPriority(char separator) override
void exprForeachDynamicEnd(const char *name) override
void exprMitlNext() override
void blockEnd() override
void exprForAllDynamicEnd(const char *name) override
void exprBinary(Constants::kind_t binaryop) override
void exprExistsEnd(const char *name) override
void procCondition() override
void procProb() override
void whileEnd() override
void declParameter(const char *name, bool) override