Quels avantages et inconvénients spécifiques de chaque manière de travailler sur une grammaire de langage de programmation? Pourquoi / Quand devrais-je rouler le mien? Pourquoi / quand devrais-je utiliser un
Analyser des données (non) structurées pour les convertir en un format structuré et normalisé.
Quels avantages et inconvénients spécifiques de chaque manière de travailler sur une grammaire de langage de programmation? Pourquoi / Quand devrais-je rouler le mien? Pourquoi / quand devrais-je utiliser un
Je me suis plongé récemment dans le monde des analyseurs syntaxiques pour créer mon propre langage de programmation. Cependant, j’ai découvert qu’il existe deux approches quelque peu différentes d’écriture d’analyseurs: les générateurs d’analyseurs et les combinateurs d’analyseurs. Fait...
Je pense comprendre l’objectif d’un AST et j’ai déjà construit quelques structures en arbre, mais jamais un AST. La plupart du temps, je suis confus parce que les nœuds sont du texte et non des nombres, je ne peux donc pas penser à un moyen agréable de saisir un jeton / une chaîne alors que je suis...
Je me suis souvent demandé pourquoi l'analyse syntaxique stricte n'avait pas été choisie lors de la création de HTML. Pendant la majeure partie de l’histoire d’Internet, les navigateurs ont accepté tous les types de balises et ont fait de leur mieux pour les analyser. Le processus dégrade les...
Je faisais des recherches sur la suite du compilateur gcc sur wikipedia ici , quand cela a été annoncé: GCC a commencé par utiliser des analyseurs LALR générés avec Bison, mais a progressivement adopté des analyseurs manuscrits à descente récursive; pour C ++ en 2004 et pour C et Objective-C en...
J’ai remarqué à ma grande joie que C ++ 11 possède une std::sto@famille de fonctions permettant de décompresser facilement ints / floats / long, qu’il s’agisse de chaînes. Je suis surpris cependant que l'inverse ne soit pas mis en œuvre. Pourquoi le comité des normes n'a-t-il pas inclus une...
Comment les commentaires sont-ils généralement traités dans les langages de programmation et le balisage? J'écris un analyseur pour un langage de balisage personnalisé et je veux suivre le principe de la moindre surprise , donc j'essaie de déterminer la convention générale. Par exemple, un...
Était fasciné de lire sur le jeu d'aventure texte The Hobbit qui présentait un analyseur incroyablement robuste appelé "Inglish": ... Inglish a permis de taper des phrases avancées telles que "interroger Gandalf sur la carte curieuse, puis prendre l'épée et tuer le troll avec elle". L'analyseur...
Les analyseurs conventionnels consomment l'intégralité de leur entrée et produisent un seul arbre d'analyse. J'en cherche un qui consomme un flux continu et produit une forêt d'analyse [ modifier: voir la discussion dans les commentaires concernant les raisons pour lesquelles cette utilisation de...
La mémoire (et les verrous de ressources) sont retournés au système d'exploitation à des points déterministes pendant l'exécution d'un programme. Le flux de contrôle d'un programme suffit à lui seul à savoir où, à coup sûr, une ressource donnée peut être désallouée. Tout comme la façon dont un...
On m'a confié la tâche d'implémenter un langage spécifique au domaine pour un outil qui peut devenir très important pour l'entreprise. Le langage est simple mais pas trivial, il autorise déjà les boucles imbriquées, la concaténation de chaînes, etc. et il est pratiquement sûr que d'autres...
J'essaie de comprendre la compilation et l'interprétation, étape par étape pour trouver une image totale. J'ai donc posé une question en lisant http://www.cs.man.ac.uk/~pjj/farrell/comp3.html cet article Ça dit : La prochaine étape du compilateur est appelée l'analyseur. Cette partie du compilateur...
Je suis en train de créer mon propre langage de programmation, ce que je fais à des fins d'apprentissage. J'ai déjà écrit le lexer et un analyseur de descente récursif pour un sous-ensemble de ma langue (je supporte actuellement les expressions mathématiques, telles que + - * /et les parenthèses)....
Cette question a été migrée depuis Stack Overflow car il est possible d'y répondre sur Software Engineering Stack Exchange. Migré il y a 7 ans . Problème: exécutez les commandes sous la forme d'une chaîne. exemple de commande: /user/files/ list all; équivalent à: /user/files/ ls -la; un autre:...
Un collègue et moi avons récemment discuté de la question de savoir si une expression rationnelle pure est capable d'encapsuler entièrement le format csv, de telle sorte qu'elle soit capable d'analyser tous les fichiers avec n'importe quel caractère d'échappement, de guillemet et de séparateur. La...
Je veux construire un analyseur de règles générique pour les systèmes RPG de style stylo et papier. Une règle peut impliquer généralement 1 à N entités 1 à N rôles d'un dé et calculer des valeurs en fonction de plusieurs attributs d'une entité. Par exemple: Le joueur a STR 18, son arme actuellement...
Quand j'ai commencé à utiliser des combinateurs d'analyseurs, ma première réaction a été un sentiment de libération de ce qui semblait être une distinction artificielle entre l'analyse et lexing. Tout d'un coup, tout n'était que de l'analyse! Cependant, j'ai récemment rencontré cette publication...
Si je me souviens bien de mon cours sur les compilateurs, le compilateur typique a le plan simplifié suivant: Un analyseur lexical analyse (ou appelle une fonction de numérisation) le code source caractère par caractère La chaîne de caractères d'entrée est vérifiée par rapport au dictionnaire des...
J'écris un analyseur pour un langage de balisage que j'ai créé (écrit en python, mais ce n'est pas vraiment pertinent pour cette question - en fait, si cela semble être une mauvaise idée, j'aimerais une suggestion pour un meilleur chemin) . Je lis sur les analyseurs ici:
Quels tests dois-je utiliser pour tester un parseur csv? J'ai un analyseur csv simple en C #, et je veux être sûr d'avoir une bonne couverture de test unitaire de tous les cas de bord communs (et rares). Quels tests dois-je utiliser pour identifier les problèmes potentiels et les cas...