method
lastpos
v7.2.3 -
Show latest stable
- Class:
ActionDispatch::Journey::GTG::Builder
lastpos(node)public
No documentation available.
# File actionpack/lib/action_dispatch/journey/gtg/builder.rb, line 108
def lastpos(node)
case node
when Nodes::Star
lastpos(node.left)
when Nodes::Or
node.children.flat_map { |c| lastpos(c) }.tap(&:uniq!)
when Nodes::Cat
if nullable?(node.right)
lastpos(node.left) | lastpos(node.right)
else
lastpos(node.right)
end
when Nodes::Terminal
nullable?(node) ? [] : [node]
when Nodes::Unary
lastpos(node.left)
else
raise ArgumentError, "unknown lastpos: %s" % node.class.name
end
end