Как сказать, что (в BNF, EBNF и т. д.) любые две или более буквы расположены в одном и том же вертикальном выравнивании
например, в python 2.x у нас есть то, что мы называем indentation
.
def hello():
print "hello,"
print "world"
hello()
Примечание, буква p
(вторая строка) расположена в том же вертикальном положении, что и буква p
(третья строка).
Еще пример (в уценке):
MyHeader
========
topic
-----
Примечание M
и первый =
расположены в одном вертикальном выравнивании (также r
и последний =
, t и первый -
, c
и последний -
)
Мой вопрос: Как представить это вертикальное выравнивание букв, используя BNF, EBNF и т. д.?
Дополнительное примечание: Моя цель этого вопроса заключается в поиске метода представления для представления вертикального выравнивания кода, а не просто в том, чтобы знать, как написать BNF или EBNF Python
или Markdown
.
python
не является полностью контекстной. бесплатно; части его есть, но языка в целом нет. - person twalberg   schedule 05.01.2015