-/* Cycript - Remote Execution Server and Disassembler
+/* Cycript - Error.hppution Server and Disassembler
* Copyright (C) 2009 Jay Freeman (saurik)
*/
bool strict_;
enum Condition {
- RegExStart,
- RegExRest
+ RegExpCondition,
+ XMLContentCondition,
+ XMLTagCondition,
};
std::string filename_;
CYDriver(const std::string &filename);
~CYDriver();
+ Condition GetCondition();
void SetCondition(Condition condition);
+ void PushCondition(Condition condition);
+ void PopCondition();
+
void Warning(const cy::location &location, const char *message);
};
void Output(CYOutput &out, CYFlags flags) const;
};
-struct CYCatch :
- CYThing
-{
- CYIdentifier *name_;
- CYBlock code_;
-
- CYCatch(CYIdentifier *name, CYStatement *statements) :
- name_(name),
- code_(statements)
- {
- }
-
- void Replace(CYContext &context);
- virtual void Output(CYOutput &out) const;
-};
-
struct CYMember :
CYExpression
{
virtual void Output(CYOutput &out) const;
};
-struct CYTry :
+namespace cy {
+namespace Syntax {
+
+struct Catch :
+ CYThing
+{
+ CYIdentifier *name_;
+ CYBlock code_;
+
+ Catch(CYIdentifier *name, CYStatement *statements) :
+ name_(name),
+ code_(statements)
+ {
+ }
+
+ void Replace(CYContext &context);
+ virtual void Output(CYOutput &out) const;
+};
+
+struct Try :
CYStatement
{
CYBlock code_;
- CYCatch *catch_;
+ Catch *catch_;
CYFinally *finally_;
- CYTry(CYStatement *statements, CYCatch *_catch, CYFinally *finally) :
+ Try(CYStatement *statements, Catch *_catch, CYFinally *finally) :
code_(statements),
catch_(_catch),
finally_(finally)
virtual void Output(CYOutput &out, CYFlags flags) const;
};
-struct CYThrow :
+struct Throw :
CYStatement
{
CYExpression *value_;
- CYThrow(CYExpression *value) :
+ Throw(CYExpression *value) :
value_(value)
{
}
virtual void Output(CYOutput &out, CYFlags flags) const;
};
+} }
+
struct CYWith :
CYStatement
{
}
virtual const char *Operator() const {
- return "*";
+ return "^";
}
CYAlphabetic(false)