2010-06-11 5 views
0

Hey en tant que projet pour améliorer mes compétences en programmation, j'ai commencé à programmer un éditeur de code sympa en python pour apprendre la gestion de projet, le contrôle de version et la programmation graphique. Je voulais utiliser des fichiers de syntaxe faits pour d'autres programmes afin d'avoir déjà une grande collection. Je me demandais s'il y avait une sorte de format de fichier de syntaxe universelle beaucoup dans le même sens que les fichiers .odt. J'en ai entendu parler une fois dans un forum, il y avait un site Web, mais je ne m'en souviens plus maintenant. Sinon, je peux juste essayer d'utiliser des fichiers de syntaxe gedit ou Geany.Format de fichier de syntaxe universel?

merci

Répondre

2

Si vous envisagez de faire la mise en évidence de la syntaxe, consultez Pygments, en particulier le bit sur lexers.

Depuis que vous avez mentionné Geany, vous pourriez vouloir regarder le Scintilla docs. (Geany est construit sur Scintilla). Vous pourriez trouver this post intéressant. De plus, assurez-vous de vous familiariser avec le vénérable lex et yacc.

0

Vous ne savez pas ce que .odt a à faire avec tout cela.

Je pouvais voir une sorte de BNF capable de décrire (presque) n'importe quelle syntaxe: Il suffit de lancer le texte et la BNF à travers un analyseur, et d'appliquer un schéma de couleurs aux terminaux. Vous pourriez même avoir un peu plus de fantaisie, puisque vous auriez l'arbre de syntaxe.

En réalité, je pense que la plupart des fichiers de syntaxe adoptent une approche plus simple, comme les expressions régulières. Cela mettrait alors quelque part au-dessus des expressions régulières mais pas vraiment sans contexte en termes de pouvoir. En ce qui concerne les formats de fichiers, si vous réutilisez quelque chose qui existe, vous pouvez simplement piller et piller (sous réserve des accords de licence) leurs données de fichier de syntaxe.

+2

ODT est une norme pour les documents. Il cherche un standard pour la syntaxe du code source. C'est la pertinence. – alternative