Execute HQ9+: Difference between revisions

→‎{{header|Ada}}: moved to extra page
(add Ada)
(→‎{{header|Ada}}: moved to extra page)
Line 3:
=={{header|Ada}}==
 
see [[Execute HQ9+/Ada]]
the language specs of [[HQ9+]] don't tell what is meant by "accumulator". therefore it is not possible to tell if it is implemented correctly.
 
<lang Ada>with Ada.Text_IO;
procedure HQ9Plus is
-- took example from bottle-task
procedure Bottles is
begin
for X in reverse 1..99 loop
Ada.Text_IO.Put_Line(Integer'Image(X) & " bottles of beer on the wall");
Ada.Text_IO.Put_Line(Integer'Image(X) & " bottles of beer");
Ada.Text_IO.Put_Line("Take one down, pass it around");
Ada.Text_IO.Put_Line(Integer'Image(X - 1) & " bottles of beer on the wall");
Ada.Text_IO.New_Line;
end loop;
end Bottles;
 
procedure Interpret_HQ9Plus (Input : in String) is
begin
for I in Input'Range loop
case Input (I) is
when 'H'|'h' =>
Ada.Text_IO.Put_Line ("Hello, World!");
when 'Q'|'q' =>
Ada.Text_IO.Put_Line (Input);
when '9' =>
Bottles;
when '+' =>
-- Language specs don't tell what is meant by "accumulator"
null;
when others =>
null;
end case;
end loop;
end Interpret_HQ9Plus;
 
Test_Code : String := "hq9+HqQ+Qq";
begin
Interpret_HQ9Plus (Test_Code);
end HQ9Plus;</lang>
 
=={{header|AutoHotkey}}==
256

edits