mirror of
https://github.com/aportelli/LatAnalyze.git
synced 2025-04-11 03:20:46 +01:00
a bit more refactoring
This commit is contained in:
parent
278bc59a33
commit
12bbd3ec7e
@ -197,7 +197,7 @@ MathCompiler::MathCompiler(void)
|
|||||||
, state_(NULL)
|
, state_(NULL)
|
||||||
, root_(NULL)
|
, root_(NULL)
|
||||||
, out_()
|
, out_()
|
||||||
, status_(Status::None)
|
, status_(Status::none)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
MathCompiler::MathCompiler(const std::string &code)
|
MathCompiler::MathCompiler(const std::string &code)
|
||||||
@ -221,16 +221,16 @@ void MathCompiler::init(const std::string &code)
|
|||||||
code_ = new stringstream(code);
|
code_ = new stringstream(code);
|
||||||
codeName_ = "<string>";
|
codeName_ = "<string>";
|
||||||
state_ = new MathParserState(code_, &codeName_, &root_);
|
state_ = new MathParserState(code_, &codeName_, &root_);
|
||||||
status_ |= Status::Initialised;
|
status_ |= Status::initialised;
|
||||||
}
|
}
|
||||||
|
|
||||||
const VirtualProgram& MathCompiler::operator()(void)
|
const VirtualProgram& MathCompiler::operator()(void)
|
||||||
{
|
{
|
||||||
if (!(status_ & Status::Parsed))
|
if (!(status_ & Status::parsed))
|
||||||
{
|
{
|
||||||
parse();
|
parse();
|
||||||
}
|
}
|
||||||
if (!(status_ & Status::Compiled))
|
if (!(status_ & Status::compiled))
|
||||||
{
|
{
|
||||||
compile(*root_);
|
compile(*root_);
|
||||||
}
|
}
|
||||||
@ -242,8 +242,8 @@ const VirtualProgram& MathCompiler::operator()(void)
|
|||||||
void MathCompiler::parse(void)
|
void MathCompiler::parse(void)
|
||||||
{
|
{
|
||||||
_math_parse(state_);
|
_math_parse(state_);
|
||||||
status_ |= Status::Parsed;
|
status_ |= Status::parsed;
|
||||||
status_ -= status_ & Status::Compiled;
|
status_ -= status_ & Status::compiled;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define IFOP(name, nArg) if ((n.getName() == (name))&&(n.getNArg() == nArg))
|
#define IFOP(name, nArg) if ((n.getName() == (name))&&(n.getNArg() == nArg))
|
||||||
@ -278,7 +278,7 @@ void MathCompiler::compile(const MathNode& n)
|
|||||||
"unknown node type (node '" + n.getName() + "')");
|
"unknown node type (node '" + n.getName() + "')");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
status_ |= Status::Compiled;
|
status_ |= Status::compiled;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MathCompiler::reset(void)
|
void MathCompiler::reset(void)
|
||||||
|
@ -156,10 +156,10 @@ private:
|
|||||||
public:
|
public:
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
None = 0,
|
none = 0,
|
||||||
Initialised = 1 << 0,
|
initialised = 1 << 0,
|
||||||
Parsed = 1 << 1,
|
parsed = 1 << 1,
|
||||||
Compiled = 1 << 2
|
compiled = 1 << 2
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
public:
|
public:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user