Я пытаюсь создать простую BaSH-подобную грамматику для ANTLRv3, но не смог разобрать (и проверить) ввод внутри команд subshell.
Дальнейшее объяснение:
Я хочу проанализировать следующий ввод:
$(command parameters*)
`command parameters`
"some text $(command parameters*)"
И сможете проверить его содержимое так же, как и при простом вводе, таком как: параметры команды.
т.е:.
При разборе генерируется дерево типа
(SUBSHELL (CMD command (PARAM parameters*)))
(токены в верхнем регистре)
Я могу игнорировать '$ (' и '`s, но это не будет охватывать случаи, когда подоболочки используются внутри строк в двойных кавычках, например:
$ echo "String test $(ls -l) end"
Итак ... какие-нибудь советы, как мне этого добиться?