У меня есть домашний вопрос по компилятору, который требует, чтобы я нарисовал DFA для комментариев Pascal, но я никогда (и, вероятно, никогда не буду) использовать Pascal. В вопросе не указывается, следует ли нам использовать ANSI Pascal или Turbo Pascal, поэтому я собирался сделать один для обоих.
Некоторые поиски в Google показали мне, что Turbo Pascal допускает вложенные комментарии, если не используется один и тот же разделитель, поэтому {(* комментарий *)}
в порядке, как и (* {комментарий} *)
, но {{комментарий}}
или (* (* комментарий *) *)
не в порядке. Мой вопрос здесь в том, подходит ли комментарий типа {(* {comment} *)}
или (* {(* comment *)} *)
, поскольку те же разделители не используются подряд.
Я также искал в Google, разрешает ли ANSI Pascal вложенные комментарии, но я не нашел окончательного ответа. Если ANSI Pascal допускает вложенные комментарии, каковы правила?
Кстати, меня не беспокоит странное соглашение о комментариях с разными начальными и конечными разделителями, соглашение, которое разрешено в ANSI Pascal.
ОБНОВЛЕНИЕ :
Я хотел бы прояснить, что меня на самом деле не интересует, как конкретные компиляторы обрабатывают комментарии Паскаля, меня беспокоит, как компилятор ДОЛЖЕН обрабатывать комментарии Паскаля, если этот компилятор на 100% придерживался любого из Стандарты ANSI или TURBO Pascal.