Мета цього коду гольфу - створити інтерпретатор для мови програмування HQ9 +
У цій мові програмування є 4 команди:
- Н - друкує "Привіт, світ!"
- Q - друкує вихідний код програми
- 9 - друкує тексти пісні "99 пляшок пива"
- + - приріст акумулятора
Правила:
- Оскільки акумулятор не визначений, ви можете ігнорувати команду +
- Ваша програма повинна запропонувати ввести (цей вхід буде вихідним кодом) або вихідний код зчитується з файлу
- Вам заборонено вносити у файл тексти пісень "99 пляшок пива" та читати текст із файлу
- Вам не дозволяється використовувати алгоритм стиснення, такий як GZip або BZip, для стиснення тексту пісні: ви повинні створити власний алгоритм стиснення. Це не повинно бути складним алгоритмом, але намагайтеся максимально стиснути текст (пам’ятайте: це код-гольф, код з найменшою кількістю байтів)
- Якщо вихідний код містить знак, що не H , Q , 9 або + , тоді виведіть "Вихідний код містить недійсні символи" перед запуском будь-яких команд! Це означає, що, наприклад, якщо вихідний код є
H1
, тоді не виводить його,Hello, world!
перш ніж виводити йогоSource code contains invalid characters
. Ні, негайно виведітьSource code contains invalid characters
- Якщо ваш перекладач приймає як великі, так і малі символи, тоді ви отримуєте -8 до кількості символів
Удачі!