mirror of https://github.com/stella-emu/stella.git
Addition of classes to be used in full conditional breakpoint support.
Yes folks, it's coming, and if everything works out it will be the fastest implementation yet for any Atari 2600 debugger. git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@634 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
parent
5702496cdc
commit
c6db07b077
|
@ -0,0 +1,27 @@
|
|||
//============================================================================
|
||||
//
|
||||
// SSSS tt lll lll
|
||||
// SS SS tt ll ll
|
||||
// SS tttttt eeee ll ll aaaa
|
||||
// SSSS tt ee ee ll ll aa
|
||||
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
||||
// SS SS tt ee ll ll aa aa
|
||||
// SSSS ttt eeeee llll llll aaaaa
|
||||
//
|
||||
// Copyright (c) 1995-2005 by Bradford W. Mott and the Stella team
|
||||
//
|
||||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: ConstExpression.cxx,v 1.1 2005-07-12 17:02:35 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include "Expression.hxx"
|
||||
#include "ConstExpression.hxx"
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
ConstExpression::ConstExpression(const int value)
|
||||
: Expression(0, 0),
|
||||
myValue(value)
|
||||
{
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
//============================================================================
|
||||
//
|
||||
// SSSS tt lll lll
|
||||
// SS SS tt ll ll
|
||||
// SS tttttt eeee ll ll aaaa
|
||||
// SSSS tt ee ee ll ll aa
|
||||
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
||||
// SS SS tt ee ll ll aa aa
|
||||
// SSSS ttt eeeee llll llll aaaaa
|
||||
//
|
||||
// Copyright (c) 1995-2005 by Bradford W. Mott and the Stella team
|
||||
//
|
||||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: ConstExpression.hxx,v 1.1 2005-07-12 17:02:35 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef CONST_EXPRESSION_HXX
|
||||
#define CONST_EXPRESSION_HXX
|
||||
|
||||
#include "Expression.hxx"
|
||||
|
||||
/**
|
||||
This class provides an implementation of an constant expression;
|
||||
that is, one that consists solely of a constant integer value.
|
||||
|
||||
@author Stephen Anthony
|
||||
@version $Id: ConstExpression.hxx,v 1.1 2005-07-12 17:02:35 stephena Exp $
|
||||
*/
|
||||
class ConstExpression : public Expression
|
||||
{
|
||||
public:
|
||||
ConstExpression(const int value);
|
||||
int evaluate() { return myValue; }
|
||||
|
||||
private:
|
||||
int myValue;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -0,0 +1,33 @@
|
|||
//============================================================================
|
||||
//
|
||||
// SSSS tt lll lll
|
||||
// SS SS tt ll ll
|
||||
// SS tttttt eeee ll ll aaaa
|
||||
// SSSS tt ee ee ll ll aa
|
||||
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
||||
// SS SS tt ee ll ll aa aa
|
||||
// SSSS ttt eeeee llll llll aaaaa
|
||||
//
|
||||
// Copyright (c) 1995-2005 by Bradford W. Mott and the Stella team
|
||||
//
|
||||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: Expression.cxx,v 1.1 2005-07-12 17:02:35 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#include "Expression.hxx"
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Expression::Expression(Expression* lhs, Expression* rhs)
|
||||
: myLHS(lhs),
|
||||
myRHS(rhs)
|
||||
{
|
||||
}
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
Expression::~Expression()
|
||||
{
|
||||
delete myLHS;
|
||||
delete myRHS;
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
//============================================================================
|
||||
//
|
||||
// SSSS tt lll lll
|
||||
// SS SS tt ll ll
|
||||
// SS tttttt eeee ll ll aaaa
|
||||
// SSSS tt ee ee ll ll aa
|
||||
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
|
||||
// SS SS tt ee ll ll aa aa
|
||||
// SSSS ttt eeeee llll llll aaaaa
|
||||
//
|
||||
// Copyright (c) 1995-2005 by Bradford W. Mott and the Stella team
|
||||
//
|
||||
// See the file "license" for information on usage and redistribution of
|
||||
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
//
|
||||
// $Id: Expression.hxx,v 1.1 2005-07-12 17:02:35 stephena Exp $
|
||||
//============================================================================
|
||||
|
||||
#ifndef EXPRESSION_HXX
|
||||
#define EXPRESSION_HXX
|
||||
|
||||
/**
|
||||
This class provides an implementation of an expression node, which
|
||||
is a construct that is given two other expressions and evaluates and
|
||||
returns the result. When placed in a tree, a collection of such nodes
|
||||
can represent complex expression statements.
|
||||
|
||||
@author Stephen Anthony
|
||||
@version $Id: Expression.hxx,v 1.1 2005-07-12 17:02:35 stephena Exp $
|
||||
*/
|
||||
class Expression
|
||||
{
|
||||
public:
|
||||
Expression(Expression* lhs, Expression* rhs);
|
||||
virtual ~Expression();
|
||||
|
||||
virtual int evaluate() = 0;
|
||||
|
||||
protected:
|
||||
Expression* myLHS;
|
||||
Expression* myRHS;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -4,6 +4,8 @@ MODULE_OBJS := \
|
|||
src/debugger/Debugger.o \
|
||||
src/debugger/DebuggerParser.o \
|
||||
src/debugger/EquateList.o \
|
||||
src/debugger/Expression.o \
|
||||
src/debugger/ConstExpression.o \
|
||||
src/debugger/PackedBitArray.o \
|
||||
src/debugger/CpuDebug.o \
|
||||
src/debugger/RamDebug.o \
|
||||
|
|
Loading…
Reference in New Issue