# File A1_patterns.rb, line 50
def bestimme(whtxt)
        #Definition der einzelnen Tokens als reguläre Audrücke
        name = Regexp.new('[a-zA-Z][a-zA-Z0-9]*')
        zahl = Regexp.new('[1-9]+[0-9]*|0')
        addOp = Regexp.new('\+|\-')
        mulOp = Regexp.new('\*|div|mod')
        auf = Regexp.new('\(')
        zu = Regexp.new('\)')
        ergibt = Regexp.new(':=')
        strichpunkt = Regexp.new(';')

        tokenArray=[name,zahl,addOp,mulOp,auf,zu,ergibt,strichpunkt]
        
        tokens=Hash.new
        tokens[name]="name"
        tokens[zahl]="zahl"
        tokens[addOp]="addOp"
        tokens[mulOp]="mulOp"
        tokens[auf]="auf"
        tokens[zu]="zu"
        tokens[ergibt]="ergibt"
        tokens[strichpunkt]="strichpunkt"

        zerlege(whtxt).each do |comp|  
                accumulated=false
                tokenArray.each do |regex|
                        if accumulated == false
                                if not (regex=~comp)==nil
                                        print("- ",tokens[regex], " << ",comp," >>\n")
                                        accumulated=true
                                end
                        end
                end           
        end
        
end