class Cucumber::CucumberExpressions::CucumberExpression

def rewrite_alternation(node)

def rewrite_alternation(node)
  # Make sure the alternative parts aren't empty and don't contain parameter types
  node.nodes.each { |alternative|
    raise AlternativeMayNotBeEmpty.new(alternative, @expression) if alternative.nodes.length == 0
    assert_not_empty(alternative) { |ast_node| raise AlternativeMayNotExclusivelyContainOptionals.new(ast_node, @expression) }
  }
  regex = node.nodes.map { |n| rewrite_to_regex(n) }.join('|')
  "(?:#{regex})"
end