Обычные способы передачи аргументов в интерпретируемую программу - PullRequest
0 голосов
/ 06 сентября 2010

Я пишу переводчик.Интерпретатор принимает аргументы, которые он сам использует, включая файл для интерпретации.Интерпретируемая программа не должна видеть аргументы интерпретатора, когда она запрашивает аргументы, и должна видеть аргументы, предназначенные для интерпретируемой программы.Но это не сложно сделать.Вместо этого меня интересуют стили передачи аргументов в программу.

Например, могут работать следующие сценарии:

  • interpreter [interpreter args] file [file args]

  • interpreter [interpreter args] Где [interpreter args] включает файл и --prog-args n arg1 arg2 ... argn

С этим можно быть настолько умным, насколько ему нравится, но яинтересует обычные способы сделать это.

1 Ответ

1 голос
/ 06 сентября 2010

Вы спрашиваете о том, как анализировать аргументы командной строки или их стили?

Посмотрите на страницы Perl и Python:

$ man perl
$ man python

Они следуют схеме: interpreter [interpreter args] file [file args] interpreter -- file [file args] interpreter -e code

-- используется для завершения списка аргументов интерпретатора, например, interpreter -a -b -c -- -d совпадает с interpreter -a -b -c

Для опытных пользователей они будут запускать однострочные сценарии, поэтому вы должны добавить флаги -e CODE, а также прочитать код из STDIN, если аргументы отсутствуют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...