public boolean supportCHR() {
return context.header == null ? false : context.header.chr;
}
+ public boolean supportEDO() {
+ return context.header == null ? false : context.header.edo;
+ }
%}
letter = [a-zA-Z_]
transformation { return sym(supportCHR() ? SCLTerminals.ID : SCLTerminals.TRANSFORMATION); }
select{whitespace}first { return sym(SCLTerminals.SELECT_FIRST); }
select{whitespace}distinct { return sym(SCLTerminals.SELECT_DISTINCT); }
- select { return sym(SCLTerminals.SELECT); }
+ select { return sym(supportCHR() ? SCLTerminals.CHR_SELECT : SCLTerminals.SELECT); }
enforce { return sym(SCLTerminals.ENFORCE); }
do { return sym(SCLTerminals.DO); }
eq { return sym(options.supportEq ? SCLTerminals.EQ : SCLTerminals.ID); }
mdo { return sym(SCLTerminals.MDO); }
+ edo { return sym(supportEDO() ? SCLTerminals.EDO : SCLTerminals.ID); }
class { return sym(SCLTerminals.CLASS); }
effect { return sym(SCLTerminals.EFFECT); }
match { return sym(SCLTerminals.MATCH); }