Привет, как проект по улучшению моих навыков программирования, я начал программировать хороший редактор кода на Python, чтобы научиться управлению проектами, контролю версий и программированию с помощью графического интерфейса. Я хотел использовать файлы синтаксиса, созданные для других программ, чтобы у меня уже была большая коллекция. Мне было интересно, существует ли какой-либо универсальный формат файла синтаксиса, похожий на файлы .odt. Я однажды слышал об одном на форуме, у него был веб-сайт, но сейчас я не могу его вспомнить. Если нет, я могу просто попробовать использовать файлы синтаксиса gedit или geany.
Благодарность
2 ответа
Если вы планируете выделить синтаксис, ознакомьтесь с Pygments, особенно с тем, что касается лексеры.
Поскольку вы упомянули Geany, вы можете просмотреть документы Scintilla. (Geany построена на Scintilla).
Вы можете найти этот пост интересным.
Также не забудьте ознакомиться с почтенными lex и yacc.
Не знаю, при чем тут .odt.
Я мог видеть своего рода BNF, способную описать (почти) любой синтаксис: просто пропустите текст и BNF через синтаксический анализатор и примените цветовую схему к терминалам. Вы даже можете немного пофантазировать, поскольку у вас будет дерево синтаксиса.
На самом деле, я думаю, что большинство файлов синтаксиса используют более простой подход, например регулярные выражения. Это поставило бы их где-то выше регулярных выражений, но не совсем контекстно-зависимую с точки зрения мощности.
Что касается форматов файлов, если вы повторно используете то, что существует, вы можете просто грабить и грабить (в соответствии с лицензионными соглашениями) их данные синтаксического файла.
Похожие вопросы
Связанные вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.