Semantic Predicate are boolean expressions that enable or disable the rule that follows.
They are written in the target language making the grammar language dependent
RegularExpressionLiteral : {isRegexPossible()}? '/' RegularExpressionBody '/' RegularExpressionFlags ;
TEXT : {self._input.LA(-1) == ord('[')}? ~[\])]+ ;
where: