Sha256: e70e4e12f28956cdab794d3125a3e5c558168ac19361d08927e9356ee667d489
Contents?: true
Size: 712 Bytes
Versions: 23
Compression:
Stored size: 712 Bytes
Contents
require_relative 'dotted_item' module Rley # This module is used as a namespace module Parser # This module is used as a namespace # Mix-in module. Builds the dotted items for a given grammar module GrmItemsBuilder # Build an array of dotted items from the productions in passed grammar. def build_dotted_items(aGrammar) items = [] aGrammar.rules.each do |prod| rhs_size = prod.rhs.size if rhs_size.zero? items << DottedItem.new(prod, 0) else items += (0..rhs_size).map { |i| DottedItem.new(prod, i) } end end return items end end # module end # module end # module # End of file
Version data entries
23 entries across 23 versions & 1 rubygems