#{ } と ♭{ }
Ruby でおなじみの #{...}
a = "My name is #{name}";
".. " の中は自然言語,その外側はRubyである,と解釈できるので
#{ ... } は,「1レベル上(=外側) の言語を参照する」という意味合いと考えられる.
じゃあ,♭{... } があってもいいだろう.
♭{... }は,#{ ... } の中で用いられ,#{ } のすぐ外側の言語を参照する.
Statement a = #{generate(♭{$b})}; #{generate(♭{$c})}; ; out.print (a); Expression generate (Variable v) { return#{v} = ¶m_get(#{v.getName()}) }
と書くと,
$b=¶m_get("b"); $c=¶m_get("c");
が生成される.
次のような図にすると,#と♭の対応がわかる,かな?
Statement a =#{generate(♭{$b})}; #{generate(♭{$c})}; ; Java -------------- --------- - --------- - - Perl -- -- --- -- -