Мне нужно запустить скрипт и иметь доступ к стандартному стандартному входу (терминальному вводу) в моей программе. Я мог бы сделать ./program «скрипт», открывая и анализируя скрипт через программу, но я хочу сделать его в стиле POSIX, принимая ввод из каналов или из перенаправления.
Я имею в виду, поскольку моя программа является синтаксическим анализатором, я мог бы запустить ./program, набрать скрипт и по-прежнему использовать стандартный ввод (например, в скане). Но я хотел бы запустить сценарий ./program ‹ и по-прежнему иметь возможность использовать стандартный ввод (в сканф).
Моя программа представляет собой упрощенный интерпретатор Паскаля, поэтому мне нужно запускать read(x)
и write(x)
в своих сценариях.
Да, это домашняя работа (переводчика), но сомнения возникли просто в процессе мозгового штурма.