OMNeT++ NEDXML
6.1
Discrete Event Simulation Library
yydefs.h
Go to the documentation of this file.
1
//==========================================================================
2
// YYDEFS.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_YYDEFS_H
18
#define __OMNETPP_NEDXML_YYDEFS_H
19
20
#include "
nedxmldefs.h
"
21
22
//
23
// misc bison/flex related stuff, shared among *.lex, *.y and nedparser.cc/h files
24
//
25
26
#ifdef YYLTYPE
27
#error 'YYLTYPE defined before yydefs.h -- type clash?'
28
#endif
29
30
namespace
omnetpp
{
31
namespace
nedxml {
32
33
class
ErrorStore;
34
class
SourceDocument;
35
class
ASTNode;
36
37
struct
YYLoc
{
38
int
dummy
;
39
int
first_line
,
first_column
;
40
int
last_line
,
last_column
;
41
char
*
text
;
42
};
43
44
#define YYLTYPE omnetpp::nedxml::YYLoc
45
#define YYSTYPE omnetpp::nedxml::ASTNode*
46
47
//TODO cleanup
48
struct
ParseContext
{
49
bool
storesrc
=
false
;
// whether to fill in sourceCode attributes
50
const
char
*
filename
=
nullptr
;
// name of file being parsed
51
ErrorStore
*
errors
=
nullptr
;
// accumulates error messages
52
SourceDocument
*
source
=
nullptr
;
// represents the source file
53
54
bool
getStoreSourceFlag
() {
return
storesrc
;}
55
const
char
*
getFileName
() {
return
filename
;}
56
ErrorStore
*
getErrors
() {
return
errors
;}
57
SourceDocument
*
getSource
() {
return
source
;}
58
void
error
(
const
char
*msg,
int
line);
59
};
60
61
struct
LineColumn
{
62
int
li
;
63
int
co
;
64
};
65
66
extern
LineColumn
pos
;
67
68
}
// namespace nedxml
69
}
// namespace omnetpp
70
71
omnetpp::nedxml::ASTNode
*
doParseNed
(
omnetpp::nedxml::ParseContext
*np);
72
omnetpp::nedxml::ASTNode
*
doParseMsg
(
omnetpp::nedxml::ParseContext
*np);
73
74
75
#endif
76
77
78
omnetpp::nedxml::ParseContext::source
SourceDocument * source
Definition:
yydefs.h:52
omnetpp::nedxml::ParseContext::filename
const char * filename
Definition:
yydefs.h:50
omnetpp::nedxml::YYLoc::last_column
int last_column
Definition:
yydefs.h:40
omnetpp::nedxml::SourceDocument
Stores the full text of a NED/MSG file.
Definition:
sourcedocument.h:37
omnetpp::nedxml::YYLoc::dummy
int dummy
Definition:
yydefs.h:38
omnetpp::nedxml::ParseContext::getErrors
ErrorStore * getErrors()
Definition:
yydefs.h:56
omnetpp::nedxml::YYLoc
Definition:
yydefs.h:37
omnetpp::nedxml::ParseContext::storesrc
bool storesrc
Definition:
yydefs.h:49
omnetpp::nedxml::pos
LineColumn pos
omnetpp::nedxml::LineColumn
Definition:
yydefs.h:61
omnetpp
Definition:
astbuilder.h:25
omnetpp::nedxml::ParseContext::getSource
SourceDocument * getSource()
Definition:
yydefs.h:57
omnetpp::nedxml::YYLoc::first_column
int first_column
Definition:
yydefs.h:39
omnetpp::nedxml::ParseContext::getFileName
const char * getFileName()
Definition:
yydefs.h:55
omnetpp::nedxml::LineColumn::li
int li
Definition:
yydefs.h:62
omnetpp::nedxml::ASTNode
Definition:
astnode.h:87
omnetpp::nedxml::ParseContext::getStoreSourceFlag
bool getStoreSourceFlag()
Definition:
yydefs.h:54
omnetpp::nedxml::ParseContext
Definition:
yydefs.h:48
omnetpp::nedxml::YYLoc::last_line
int last_line
Definition:
yydefs.h:40
doParseMsg
omnetpp::nedxml::ASTNode * doParseMsg(omnetpp::nedxml::ParseContext *np)
omnetpp::nedxml::ParseContext::error
void error(const char *msg, int line)
omnetpp::nedxml::YYLoc::first_line
int first_line
Definition:
yydefs.h:39
doParseNed
omnetpp::nedxml::ASTNode * doParseNed(omnetpp::nedxml::ParseContext *np)
omnetpp::nedxml::ParseContext::errors
ErrorStore * errors
Definition:
yydefs.h:51
nedxmldefs.h
omnetpp::nedxml::ErrorStore
Definition:
errorstore.h:37
omnetpp::nedxml::YYLoc::text
char * text
Definition:
yydefs.h:41
omnetpp::nedxml::LineColumn::co
int co
Definition:
yydefs.h:63
src
nedxml
yydefs.h
Generated by
1.8.17