# File lib/journey/gtg/builder.rb, line 62 def nullable? node case node when Nodes::Group true when Nodes::Star true when Nodes::Or node.children.any? { |c| nullable?(c) } when Nodes::Cat nullable?(node.left) && nullable?(node.right) when Nodes::Terminal !node.left when Nodes::Unary nullable? node.left else raise ArgumentError, 'unknown nullable: %s' % node.class.name end end