Различие между «истинным XHTML», «faux XHTML» и HTML, а также важность типа MIME, отправленного сервером, были уже хорошо описаны здесь . Если вы хотите попробовать прямо сейчас, вот простой отредактированный фрагмент с предварительным просмотром в реальном времени, включая самозакрытый тег сценария для браузеров:
div { display: flex; }
div + div {flex-direction: column; }
Mime type:
Вы можете увидеть Hello, true XHTML. Nice to meet you!
ниже textarea.
Для неспособных браузеров вы можете копировать содержимое текстового поля и сохранять его как файл с расширением .xhtml
(или .xht
) ( благодарит Alek за этот намек ).
Не видя полной грамматики, я думаю, что ваша проблема заключается в отсутствии токена EOF в вашем основном правиле. ANTLR4 потребляет столько данных, сколько может, но если он не соответствует чему-либо хотя бы в основном правиле, он игнорирует остальное, что объясняет, почему вы не видите ошибку. Добавляя EOF, вы сообщаете вашему ANTLR4, что все входные данные должны совпадать:
calc: choice INTEGER INTEGER EOF;