-- Demonstrates using a declaration block to dynamically allocate a string with Ada.Text_IO; use Ada.Text_IO; with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; procedure declareblk2 is len: Natural; begin get(len); put(len); -- Declare a string of that length declare t: String(1 .. len); begin get(t); put(t); put(t); new_line; put_line(t'length'img); end; end declareblk2; -- Input: --| 3 --|Mom -- Output: --|MomMom --| 3