in doc-src/parsejs/lib/parsejs/grammar.kpeg.rb [2457:2515]
def _Statement
_save = self.pos
while true # choice
_tmp = apply(:_IfStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_ExpressionStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_VariableStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_Block)
break if _tmp
self.pos = _save
_tmp = apply(:_EmptyStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_IterationStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_ContinueStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_BreakStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_ReturnStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_WithStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_LabeledStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_SwitchStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_ThrowStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_TryStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_DebuggerStatement)
break if _tmp
self.pos = _save
_tmp = apply(:_FunctionDeclaration)
break if _tmp
self.pos = _save
break
end # end choice
set_failed_rule :_Statement unless _tmp
return _tmp
end