Orocos Real-Time Toolkit
2.9.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
scripting
ConditionParser.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Peter Soetens Mon Jan 19 14:11:25 CET 2004 ConditionParser.hpp
3
4
ConditionParser.hpp - description
5
-------------------
6
begin : Mon January 19 2004
7
copyright : (C) 2004 Peter Soetens
8
email : peter.soetens@mech.kuleuven.ac.be
9
10
***************************************************************************
11
* This library is free software; you can redistribute it and/or *
12
* modify it under the terms of the GNU General Public *
13
* License as published by the Free Software Foundation; *
14
* version 2 of the License. *
15
* *
16
* As a special exception, you may use this file as part of a free *
17
* software library without restriction. Specifically, if other files *
18
* instantiate templates or use macros or inline functions from this *
19
* file, or you compile this file and link it with other files to *
20
* produce an executable, this file does not by itself cause the *
21
* resulting executable to be covered by the GNU General Public *
22
* License. This exception does not however invalidate any other *
23
* reasons why the executable file might be covered by the GNU General *
24
* Public License. *
25
* *
26
* This library is distributed in the hope that it will be useful, *
27
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
28
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
29
* Lesser General Public License for more details. *
30
* *
31
* You should have received a copy of the GNU General Public *
32
* License along with this library; if not, write to the Free Software *
33
* Foundation, Inc., 59 Temple Place, *
34
* Suite 330, Boston, MA 02111-1307 USA *
35
* *
36
***************************************************************************/
37
38
#ifndef CONDITIONPARSER_HPP
39
#define CONDITIONPARSER_HPP
40
41
#include "
parser-types.hpp
"
42
#include "
CommonParser.hpp
"
43
#include "
ExpressionParser.hpp
"
44
#include "../internal/DataSource.hpp"
45
46
#include <memory>
47
#include <stack>
48
#include <utility>
49
50
#ifdef ORO_PRAGMA_INTERFACE
51
#pragma interface
52
#endif
53
54
namespace
RTT
{
namespace
scripting
55
{
61
class
ConditionParser
62
{
63
internal::DataSource<bool>::shared_ptr
ds_bool;
64
65
void
seendonecondition();
66
void
seenexpression();
67
68
rule_t
condition;
69
70
TaskContext
* context;
71
CommonParser
& commonparser;
72
ExpressionParser
expressionparser;
73
74
public
:
75
ConditionParser
(
TaskContext
* context,
ExecutionEngine
* caller,
CommonParser
& cp );
76
~ConditionParser
();
77
78
rule_t
&
parser
()
79
{
80
return
condition;
81
};
82
88
ConditionInterface
*
getParseResult
();
89
93
std::pair<base::ActionInterface*,ConditionInterface*>
getParseResultAsCommand
();
94
95
void
reset
();
96
};
97
}}
98
99
#endif
RTT::scripting::ConditionParser::getParseResultAsCommand
std::pair< base::ActionInterface *, ConditionInterface * > getParseResultAsCommand()
Retrieve the result as a command, condition pair.
Definition:
ConditionParser.cpp:108
RTT::scripting::ConditionParser::~ConditionParser
~ConditionParser()
Definition:
ConditionParser.cpp:72
RTT::scripting::ConditionParser::getParseResult
ConditionInterface * getParseResult()
Call this to get the parsed condition.
Definition:
ConditionParser.cpp:99
ExpressionParser.hpp
RTT::scripting::ConditionParser::ConditionParser
ConditionParser(TaskContext *context, ExecutionEngine *caller, CommonParser &cp)
Definition:
ConditionParser.cpp:52
RTT::scripting::ConditionInterface
This interface represents the concept of a condition which can be evaluated and return true or false...
Definition:
ConditionInterface.hpp:58
RTT::scripting::CommonParser
This class contains some very common parser definitions.
Definition:
CommonParser.hpp:52
RTT::ExecutionEngine
An execution engine serialises (executes one after the other) the execution of all commands...
Definition:
ExecutionEngine.hpp:69
RTT::scripting::ExpressionParser
How we parse: this parser works like a stack-based RPN calculator.
Definition:
ExpressionParser.hpp:146
RTT::scripting::rule_t
rule< scanner_t > rule_t
Definition:
parser-types.hpp:173
parser-types.hpp
RTT::internal::DataSource::shared_ptr
boost::intrusive_ptr< DataSource< T > > shared_ptr
Definition:
DataSource.hpp:115
RTT::scripting::ConditionParser::reset
void reset()
Definition:
ConditionParser.cpp:66
RTT::TaskContext
The TaskContext is the C++ representation of an Orocos component.
Definition:
TaskContext.hpp:93
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:52
RTT::scripting::ConditionParser
This is a class containing a parse function for conditions.
Definition:
ConditionParser.hpp:61
CommonParser.hpp
RTT::scripting::ConditionParser::parser
rule_t & parser()
Definition:
ConditionParser.hpp:78
Generated on Fri Apr 5 2019 11:59:39 for Orocos Real-Time Toolkit by
1.8.11