split alloy_ast.rb into several files