Это всегда сложная задача создать компилятор, как известно большинству из нас. Я действительно задаюсь вопросом, какая библиотека имеет лучшее приложение для такого, Java или C. Проблема, которую я вижу здесь, - это Java, которая значительно длиннее по сравнению с C, но имеет больше свободы для управления. C короче и, возможно, быстрее в компиляции, но он не позволяет AS много контроля. По мнению, какой из них будет лучше для этого?Какой из лучших приложений для дизайна компилятора?
-1
A
ответ
0
Построение компилятора в основном требуется алгоритмы и структуры данных, которые не являются родными для стандартных библиотек, предоставляемых либо язык:
- лексем
- лексических экстракционных сочинения много регулярных выражений в государственной машину с несколько выхода
- потоки лексем
- абстрактные синтаксические деревья
- парсеров для проверки синтаксиса и строительство ASTS
- графы потока управления строительство потока
- управления
- ... многое другое ...
Довольно много, чтобы построить компилятор вы в конечном итоге определения всех этих типов данных в качестве структур или объектов, а также ручной написания кода для реализации идей.
Таким образом, ни C, ни Java «легче» использовать для этой задачи.
С некоторой осторожностью версия C может быть быстрее, чем эквивалентная версия Java.
Если вы действительно хотите быстро написать компилятор, вам нужно найти инструмент или фреймворк, который предоставит вам эти структуры и алгоритмы such as our DMS Software Reengineering Toolkit, так что вам не придется их изобретать.
«В какой библиотеке есть лучшее приложение для такого», т. Е. Писать компилятор, не имеет смысла. Вы спрашиваете, для чего * язык * * проще * написать компилятор? – EJP