# File Grammatiken.rb, line 266
        def initialize(gram)
                @rules = Hash.new
                @terminals = Hash.new
                @nonterminals = Hash.new
                gram.split(/\s*\n\s*\n\s*/).each do |rule|
                        newrule = Rule.new(rule)
                        if @rules.size == 0
                                @startsymbol = newrule.getSymbol
                        end
                        @rules[newrule.getSymbol] = newrule
                        @nonterminals[newrule.getSymbol.getName] = newrule.getSymbol
                end
                @rules.each_value  {|rule|
                        rule.getAlts.each do |alt|
                                alt.getSymbols.each do |symb|
                                        if @nonterminals.has_key?(symb.getName) == false
                                                @terminals[ symb.getName ]= symb
                                        end
                                end
                        end
                }
        end