sentences: "Thus, when encountering a valid declaration, the rule declaration will be
  recognized twice—once as syntactic predicate and once during the actual parse to execute semantic actions.Of note in the above example is the fact that any code triggered by the acceptance of the "declaration" production will only occur if the predicate is satisfied.