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|
    if alternative.nodes.length == 0
      raise AlternativeMayNotBeEmpty.new(alternative, @expression)
    end
    assert_not_empty(alternative) { |astNode| raise AlternativeMayNotExclusivelyContainOptionals.new(astNode, @expression) }
  }
  regex = node.nodes.map { |n| rewrite_to_regex(n) }.join('|')
  "(?:#{regex})"
end