続 Routes.draw
内容は、下記
572 begin yield self
573 rescue
574 @routes = old_routes
575 raise
576 end
577 write_generation
578 write_recognition
beginで例外補足してて
572 begin yield self
...
576 end
以下の部分で、最初に入っていた値を「@routes」へ入れて
「Kernel.raise」メソッドを使用して例外を発生させている。
573 rescue
574 @routes = old_routes
575 raise
こいつらは本筋にあまり関係ないということです。
で、関係のある以下の人たちが呼び出される
577 write_generation
578 write_recognition
「write_generation」は以下を引数にして生成される。
CodeGeneration::GenerationGenerator.new
(このクラスは「code_generation.rb」にある。)
で、最初に空の配列と、componentsで初期化している。
generator.before,
generator.current,
generator.after = , components.first, (components[1..-1] || )
before,current,afterは以下のように属性。
Attributes = [
:after,
:before,
:current,
:results,
:constants,
:depth,
:move_ahead,
:finish_statement]
attr_accessor(*Attributes)
つづきはあとで