ANTLR по сравнению со Счастливым по сравнению с другими парсерами-генераторами

Можно войти в терминал. Вы просто используете следующую комбинацию: CTRL + ALT + F5, Вы получите tty окно, где никакой рабочий стол не является needet. Точно так же, как serverinstance Ubuntu. Затем Вы регистрируетесь там и имеете полный доступ как свой пользователь, только без GUI. Переключаться назад на gui: Перезагрузка или CTRL + ALT + F1 (Источник: , Что такое tty, и как я получаю доступ к tty? )

И да, вероятно, необходимо выполнить update-grub при изменении чего-нибудь на параметрические усилители начальной загрузки. Для возвращения его я предложил бы, чтобы Вы использовали следующие команды (это может зафиксировать отказ в обновлении):

sudo -i 
apt update && apt dist-upgrade -y
dpkg --configure -a
apt-get dist-upgrade
apt-get autoremove
apt-get autoclean
update-grub
reboot

6
задан Gabriel 1 September 2009 в 19:35
поделиться

1 ответ

Люди продолжают верить, что если они просто получают синтаксический анализатор, они уже сделали его. при создании языковых инструментов. Это просто неправильно. Парсеры доставят вас к предгорьям Гималаев , то вам нужно серьезно заняться лазанием.

Если вам нужна промышленная поддержка для создания языковых переводчиков, см. DMS Software Reengineering Toolkit . DMS предоставляет

  • лексеры на основе Unicode
  • полные контекстно-свободные синтаксические анализаторы (левая рекурсия? Нет проблем! Произвольный просмотр вперед? Нет проблем. Неоднозначные грамматики? Нет проблем)
  • полные интерфейсы для C, C #, COBOL, Java , C ++, JavaScript, ... (включая полные препроцессоры для C и C ++)
  • автоматическое построение AST
  • поддержка построения таблиц символов с произвольными правилами области видимости
  • оценка грамматики атрибутов, для построения анализаторов, которые используют древовидную структуру
  • , поддержку управления и анализ потока данных (а также реализация этого для полного C, Java и COBOL),
  • преобразования исходного кода в исходный с использованием синтаксиса исходного И целевого языка
  • AST в исходный код Prettyprinting, для воспроизведения целевого языка text

Относительно запроса OP на обработку макросов: наши внешние интерфейсы C, COBOL и C ++ обрабатывают предварительную обработку соответствующего языка с помощью а) традиционного метода полного раскрытия или б) нерасширения (где возможно), чтобы включить преобразование после анализа самих макросов. Хотя DMS как фундамент не преобразование ВЕСЕЛЫЙ для C за бомбардировщик B-2 . Это 100% перевод для> 1 MSLOC жесткого код в реальном времени. [Вас может позабавить то, что нам никогда не разрешали видеть, как на самом деле переводится программа (совершенно секретно).]. И да, у JOVIAL есть препроцессор, и да, мы перевели большинство макросов JOVIAL в эквивалентные версии C.

[Haskell - отличный язык программирования, но сам по себе ничего подобного не делает. Дело не в том, что можно выразить в языке. Речь идет о выяснении, какой механизм необходим для поддержки задачи управления программами, и потратить 100 человеко-лет на его строительство.]

6
ответ дан 17 December 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: