OMNeT++ NEDXML  5.4.1
msgparser.h
Go to the documentation of this file.
1 //==========================================================================
2 // MSGPARSER.H - part of
3 //
4 // OMNeT++/OMNEST
5 // Discrete System Simulation in C++
6 //
7 //==========================================================================
8 
9 /*--------------------------------------------------------------*
10  Copyright (C) 2002-2017 Andras Varga
11  Copyright (C) 2006-2017 OpenSim Ltd.
12 
13  This file is distributed WITHOUT ANY WARRANTY. See the file
14  `license' for details on this and other legal matters.
15 *--------------------------------------------------------------*/
16 
17 #ifndef __OMNETPP_NEDXML_MSGPARSER_H
18 #define __OMNETPP_NEDXML_MSGPARSER_H
19 
20 #include <cstdio>
21 #include "yydefs.h"
22 
23 namespace omnetpp {
24 namespace nedxml {
25 
26 class ASTNode;
27 class ErrorStore;
28 class SourceDocument;
29 
30 /* to EXPR_TYPE: */
31 #define TYPE_NUMERIC 'N'
32 #define TYPE_CONST_NUM 'C'
33 #define TYPE_STRING 'S'
34 #define TYPE_BOOL 'B'
35 #define TYPE_XML 'X'
36 #define TYPE_ANYTYPE 'A'
37 
38 
49 {
50  public:
52 
53  protected:
54  bool loadFile(const char *osfname, const char *fname);
55  bool loadText(const char *nedtext, const char *fname);
56  ASTNode *parseMsg();
57 
58  public:
63 
67  ~MsgParser();
68 
74  void setStoreSource(bool b) {np.storesrc = b;}
75 
79  bool getStoreSourceFlag() {return np.storesrc;}
80 
81  void setMsgNewSyntaxFlag(bool b) {np.msgNewSyntax = b;}
82  bool getMsgNewSyntaxFlag() {return np.msgNewSyntax;}
83 
90  ASTNode *parseMsgFile(const char *osfname, const char *fname=nullptr);
91 
98  ASTNode *parseMsgText(const char *text, const char *fname=nullptr);
99 };
100 
101 } // namespace nedxml
102 } // namespace omnetpp
103 
104 
105 #endif
106 
bool storesrc
Definition: yydefs.h:51
#define NEDXML_API
Definition: nedxmldefs.h:31
void setMsgNewSyntaxFlag(bool b)
Definition: msgparser.h:81
bool msgNewSyntax
Definition: yydefs.h:50
void setStoreSource(bool b)
Definition: msgparser.h:74
Definition: yydefs.h:48
bool getStoreSourceFlag()
Definition: msgparser.h:79
Parses MSG files into an AST.
Definition: msgparser.h:48
Definition: astbuilder.h:25
Definition: astnode.h:75
Definition: errorstore.h:37
ParseContext np
Definition: msgparser.h:51
bool getMsgNewSyntaxFlag()
Definition: msgparser.h:82