Ниже описан главный фрагмент нашей программы декомпрессии
char buff[] = {'a',0xff,3,'b','c'};
main()
{
int c;
decompressor dc;
decompressor_init(&dc, buff, sizeof(buff));
while ((c = decompressor_next(&dc)) != -1) putchar(c);
}
Отметим, что главная программа не знает как работает сам декомпрессор. Она только передает ему аргументы. Декомпрессор, обрабатывая
один символ за раз, может перенаправить его по множеству путей. Так,
он мог бы был выведен непосредственно на экран, как мы это делаем
здесь, передан подпрограмме поиска строки или анализатору ... в соответствии с концепцией.