Amazon Best VPN GoSearch

Icône de favori OnWorks

antlr - En ligne dans le Cloud

Exécutez antlr dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande antlr qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


antlr - Un autre outil pour la reconnaissance linguistique

SYNTAXE


antlr [Options] fichiers_grammaire

DESCRIPTION


Antlr convertit une forme étendue de grammaire sans contexte en un ensemble de fonctions C qui
implémenter directement une forme efficace d'analyseur LL(k) à descente récursive déterministe.
Les grammaires sans contexte peuvent être augmentées de prédicats pour permettre à la sémantique d'influencer
analyse syntaxique ; cela permet une forme d'analyse contextuelle. Le retour en arrière sélectif est également
disponible pour gérer les constructions non-LL(k) et même non-LALR(k). Antlr produit également un
définition d'un lexer qui peut être converti automatiquement en code C pour un DFA
lexer par dlg. Par conséquent, antlr remplit une fonction semblable à celle de yacc, cependant, il est
notamment plus flexible et est plus intégré avec un générateur de lexer (antlr directement
génère dlg code, alors que yacc et lex reçoivent des descriptions indépendantes). contrairement à yacc
qui accepte LALR(1) grammaires, antlr accepte les grammaires LL(k) dans une notation BNF étendue —
ce qui élimine le besoin de règles de préséance.

J'aime yacc grammaires, antlr les grammaires peuvent utiliser un attribut de symbole maintenu automatiquement
valeurs référencées comme variables en dollars. De plus, parce que antlr génère des parseurs descendants,
des valeurs arbitraires peuvent être héritées des règles parentes (passées comme des paramètres de fonction).
Antlr a également un mécanisme pour créer et manipuler des arbres de syntaxe abstraite.

Il y a diverses autres subtilités dans antlr, y compris la capacité de diffuser une grammaire
sur plusieurs fichiers ou même plusieurs grammaires dans un seul fichier, la possibilité de générer un
version de la grammaire avec des actions supprimées (à des fins de documentation), et beaucoup
plus.

OPTIONS


-ck n Utiliser jusqu'à n symboles d'anticipation lors de l'utilisation de compressé (approximation linéaire)
en avant. Ce type de prévision est très peu coûteux à calculer et est tenté avant
une anticipation LL(k) complète, qui est d'une complexité exponentielle dans le pire des cas. Dans
général, l'anticipation compressée peut être beaucoup plus profonde (par exemple, -ck 10) que la pleine
lookahead (qui doit généralement être inférieur à 4).

-CC Générez une sortie C++ à partir d'ANTLR et de DLG.

- cr Générez une référence croisée pour toutes les règles. Pour chaque règle, imprimez une liste de toutes les autres
règles qui y font référence.

-e1 Ambiguïtés/erreurs affichées dans les moindres détails (par défaut).

-e2 Ambiguïtés/erreurs montrées plus en détail.

-e3 Ambiguïtés/erreurs montrées dans des détails atroces.

-Foi filet
renommer euh.c à déposer.

-fh filet
renommer stdpccts.h en-tête (s'allume -gh) à déposer.

-fl filet
Renommer la sortie lexicale, analyseur.dlg, à déposer.

-fm filet
Renommer le fichier avec les définitions du mode lexical, mode.h, à déposer.

-fr filet
Renommer le fichier qui remappe les symboles globalement visibles, remap.h, à déposer.

-pi filet
renommer jetons.h à déposer.

-Géorgie Générer du code compatible ANSI (cas par défaut). Cela n'a pas été rigoureusement testé
être conforme à la norme ANSI XJ11 C, mais c'est proche. La sortie normale de antlr is
actuellement compilable sous K&R, ANSI C et C++—cette option ne fait rien
car antlr génère un tas de #ifdef pour faire la bonne chose en fonction du
la langue.

-gc Indique que antlr ne doit générer aucun code C, c'est-à-dire n'effectuer une analyse que sur le
grammaire.

-gd Le code C est inséré dans chacun des antlr fonctions d'analyse générées pour fournir
gestion définie par l'utilisateur d'une trace d'analyse détaillée. Le code inséré se compose de
appels aux macros ou fonctions fournies par l'utilisateur appelées zzTRACEINE et zzTRACE.
Le seul argument est un carboniser * pointant vers une chaîne de style C qui est la grammaire
règle reconnue par la fonction d'analyse en cours. Si aucune définition n'est donnée pour le
fonctions de trace, lors de l'entrée et de la sortie de la règle, un message sera imprimé indiquant
qu'une règle particulière a été entrée ou sortie.

-donner Générez une classe d'erreur pour chaque non-terminal.

-gh Générer stdpccts.h pour les fichiers non générés par ANTLR à inclure. Ce fichier contient
toutes les définitions nécessaires pour décrire le type d'analyseur généré par antlr (par exemple combien
lookahead est utilisé et si des arbres sont construits ou non) et contient les entête
action spécifiée par l'utilisateur.

-gk Générez des analyseurs qui retardent les récupérations anticipées jusqu'à ce qu'elles soient nécessaires. Sans cette option,
antlr génère des parseurs qui ont toujours k jetons d'anticipation disponibles.

-gl Générer des informations de ligne sur les actions de grammaire dans l'analyseur C du formulaire # en ligne "filet"
ce qui rend les messages d'erreur du compilateur C/C++ plus logiques car ils
pointez dans le fichier de grammaire et non dans le fichier C résultant. Le débogage est également plus facile,
parce que vous allez parcourir la grammaire et non le fichier C.

-gs Ne générez pas d'ensembles pour les listes d'expressions de jetons ; à la place générer un ||-séparé
séquence de LA(1)==jeton_numéro. La valeur par défaut est de générer des ensembles.

-Gt Générer du code pour les arbres de syntaxe abstraite.

-gx Ne créez pas les fichiers d'analyse lexicale (liés à dlg). Cette option devrait être
donné lorsque l'utilisateur souhaite fournir un analyseur lexical personnalisé. Il peut également
être utilisé dans a prendre une scripts pour que seul l'analyseur soit reconstruit lorsqu'un changement n'est pas
affectant la structure lexicale est apportée aux grammaires d'entrée.

-k n Fixer k de LL(k) à n; c'est-à-dire définir des jetons d'anticipation (par défaut==1).

-o dir Répertoire où doivent aller les fichiers de sortie (default="."). C'est très agréable pour
garder le répertoire source libre de ANTLR et DLG spawn.

-p La grammaire complète, collectée à partir de tous les fichiers de grammaire d'entrée et débarrassée de tout
commentaires et actions intégrées, est répertorié pour Stdout. Ceci est destiné à aider à
visualiser toute la grammaire dans son ensemble et éliminer le besoin de garder les actions
énoncé de façon concise afin que la grammaire soit plus facile à lire. Par conséquent, il est préférable de
intégrer même des actions complexes directement dans la grammaire, plutôt que de les appeler comme
sous-routines, puisque le surcoût d'appel de sous-routine sera sauvegardé.

-Pennsylvanie Cette option est la même que -p sauf que la sortie est annotée avec le premier
ensembles déterminés à partir de l'analyse grammaticale.

-prc on
Activez le calcul et le hissage du contexte de prédicat.

-prc de rabais
Désactivez le calcul et le levage du contexte de prédicat. Cette option fait 1.10
se comporter comme la version 1.06 avec option -pr au. Le calcul du contexte est désactivé par
défaut.

-rl n Limiter le nombre maximum de nœuds d'arbre utilisés par l'analyse grammaticale à n.
Parfois, antlr est incapable d'analyser une grammaire soumise par l'utilisateur. Cette
une situation rare ne peut se produire que lorsque la grammaire est volumineuse et la quantité d'anticipation
est supérieur à un. Un algorithme d'analyse non linéaire est utilisé par PCCTS pour gérer les
cas général de l'analyse LL(k). Cependant, la complexité moyenne de l'analyse est
presque linéaire en raison d'un jeu de jambes sophistiqué dans la mise en œuvre qui réduit le
nombre d'appels à l'algorithme LL(k) complet. Un message d'erreur s'affichera,
si cette limite est atteinte, ce qui indique la construction grammaticale en cours d'analyse lorsque
antlr atteint une non-linéarité. Utilisez cette option si antlr semble sortir pour déjeuner et
votre disque commence à battre de l'aile ; essayer n=10000 pour commencer. Une fois que la construction incriminée a
été identifié, essayez de lever l'ambiguïté qui antlr essayait de surmonter avec
grande analyse prospective. L'introduction de (...)? blocs de retour en arrière
élimine certains de ces problèmes — antlr n'analyse pas les alternatives qui commencent
avec (...)? (il revient simplement en arrière, si nécessaire, au moment de l'exécution).

-w1 Réglez le niveau d'avertissement bas. Ne pas avertir si prédicats sémantiques et/ou (...) ? les blocs sont
supposé couvrir des alternatives ambiguës.

-w2 Les décisions d'analyse ambiguës génèrent des avertissements même si des prédicats sémantiques ou (...) ?
des blocs sont utilisés. Avertir si le contexte du prédicat est calculé et les prédicats sémantiques
lever complètement l'ambiguïté des productions alternatives.

- Lire la grammaire à partir d'une entrée standard et générer stdin.c comme fichier d'analyseur.

SPÉCIALITÉS CONSIDERATIONS


Antlr fonctionne... nous pensons. Il n'y a aucune garantie implicite de quoi que ce soit. Nous nous réservons non
le droit droits sur le logiciel connu sous le nom de Purdue Compiler Construction Tool Set (PCCTS) —
PCCTS est dans le domaine public. Un particulier ou une entreprise peut faire ce qu'il veut avec
code source distribué avec PCCTS ou le code généré par PCCTS, y compris le
l'incorporation de PCCTS, ou de sa sortie, dans un logiciel commercial. Nous encourageons les utilisateurs à
développer des logiciels avec PCCTS. Cependant, nous demandons que le crédit nous soit accordé pour le développement
PCCTS. Par "crédit", nous entendons que si vous intégrez notre code source dans l'un de vos
programmes (produit commercial, projet de recherche ou autre) que vous reconnaissez
fait quelque part dans la documentation, rapport de recherche, etc... Si vous aimez PCCTS et avez
développé un bel outil avec la sortie, veuillez mentionner que vous l'avez développé en utilisant PCCTS.
Tant que ces directives seront suivies, nous prévoyons de continuer à améliorer ce système et
s'attendre à rendre d'autres outils disponibles au fur et à mesure qu'ils sont terminés.

Utiliser antlr en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.