msgparser.h Source File

NEDXML API: msgparser.h Source File
NEDXML API
msgparser.h
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
23namespace omnetpp {
24namespace nedxml {
25
26class ASTNode;
27class ErrorStore;
28class 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
48class NEDXML_API MsgParser
49{
50 public:
51 ParseContext np;
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
68
74 void setStoreSource(bool b) {np.storesrc = b;}
75
79 bool getStoreSourceFlag() {return np.storesrc;}
80
87 ASTNode *parseMsgFile(const char *osfname, const char *fname=nullptr);
88
95 ASTNode *parseMsgText(const char *text, const char *fname=nullptr);
96};
97
98} // namespace nedxml
99} // namespace omnetpp
100
101
102#endif
103
Definition astnode.h:88
Definition errorstore.h:38
ASTNode * parseMsgText(const char *text, const char *fname=nullptr)
bool getStoreSourceFlag()
Definition msgparser.h:79
void setStoreSource(bool b)
Definition msgparser.h:74
ASTNode * parseMsgFile(const char *osfname, const char *fname=nullptr)
Stores the full text of a NED/MSG file.
Definition sourcedocument.h:38