関数宣言時に、識別子名による変数を確保するようところまで実装

識別子にメモリーを関連付ける点においては、関数と変数はどちらも同じ。
識別子に関連付いたメモリーに対して、
値を格納し読み書きするのが変数であり、
一方、ラベル番号(ほぼアドレスと同様の意味)を格納し、そのラベル先へ
処理をジャンプし、リターンしてくるのが関数。

識別子が指すメモリーに格納された値を、「どのように用いるか?」の違いこそあるが、
どちらのケースでも値自体は数値にすぎない。
(ラベルではなくラベル番号を格納するのがポイント。これならばintで扱える)

という使い道を考えているので、
変数も関数も、識別子へメモリーを結びつける段階までは、同様の処理とみなせる。