module Finitio module Syntax module TypeDef include Node capture :type capture :type_name def compile(system) t = type.compile(system) n = type_name && type_name.to_str m = metadata system.add_type(t, n, m) t end def to_ast [:type_def, type_name, type.to_ast] end end # module TypeDef end # module Syntax end # module Finitio