virtual void Output(CYOutput &out, CYFlags flags) const;
};
+struct CYProperty :
+ CYNext<CYProperty>,
+ CYThing
+{
+ CYPropertyName *name_;
+ CYExpression *value_;
+
+ CYProperty(CYPropertyName *name, CYExpression *value, CYProperty *next = NULL) :
+ CYNext<CYProperty>(next),
+ name_(name),
+ value_(value)
+ {
+ }
+
+ void Replace(CYContext &context);
+ virtual void Output(CYOutput &out) const;
+};
+
struct CYDeclaration :
CYForInInitialiser
{
CYIdentifier *identifier_;
CYExpression *initialiser_;
- CYDeclaration(CYIdentifier *identifier, CYExpression *initialiser) :
+ CYDeclaration(CYIdentifier *identifier, CYExpression *initialiser = NULL) :
identifier_(identifier),
initialiser_(initialiser)
{
virtual void For(CYOutput &out) const;
void Replace(CYContext &context);
+ CYProperty *Property(CYContext &context);
virtual void Output(CYOutput &out) const;
virtual void Output(CYOutput &out, CYFlags flags) const;
virtual void Output(CYOutput &out, CYFlags flags) const;
};
-struct CYProperty :
- CYNext<CYProperty>,
- CYThing
-{
- CYPropertyName *name_;
- CYExpression *value_;
-
- CYProperty(CYPropertyName *name, CYExpression *value, CYProperty *next = NULL) :
- CYNext<CYProperty>(next),
- name_(name),
- value_(value)
- {
- }
-
- void Replace(CYContext &context);
- virtual void Output(CYOutput &out) const;
-};
-
struct CYObject :
CYLiteral
{
}
virtual const char *Operator() const {
- return "^";
+ return "*";
}
CYAlphabetic(false)