Warning: session_start(): open(/var/lib/php/sessions/sess_2t186g5kpenrfdm3qudrgn0eto, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
srecord RuleWithParams(IfThen rule, SS matches) {}
srecord IfThen(Exp in, Exp out) {
S globalID;
Set options;
S text() {
Collection opt = options;
if (nempty(globalID)) opt = concatLists(ll("id: " + globalID), opt);
ret (nempty(opt) ? "[" + joinWithComma(opt) + "] " : "")
+ (in == null ? "" : in.text() + " => ") + nlLogic_text(out);
}
toString { ret text(); }
}
abstract sclass Exp {
abstract S text();
toString { ret text(); }
}
static noToString record Func(S name, Exp arg) extends Exp {
LS options;
*(S *name, LS *options, Exp *arg) {}
S text() {
ret name + "(" + arg.text() + ")";
}
}
static noToString record And(Exp a, Exp b) extends Exp {
S text() {
ret a.text() + " && " + b.text();
}
}
static noToString record ExpNot(Exp a) extends Exp {
S text() {
ret "!" + a.text();
}
}
abstract sclass Literal extends Exp {}
static noToString record Sentence(L tok) extends Literal { S text() { ret join(tok); } }
static noToString record Sentence2(S text) extends Literal { S text() { ret text; } }
static noToString record Eq(Exp left, Exp right) extends Exp {
S text() {
ret left.text() + " = " + right.text();
}
}