Il s'agit de la commande sid qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks à l'aide de 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
sid - Dispositif d'amélioration de la syntaxe ; générateur d'analyseur.
SYNTAXE
sid [option] ... filet...
DESCRIPTION
Le sid La commande est utilisée pour transformer les descriptions d'une langue en un
programme pour reconnaître cette langue. Cette page de manuel détaille les
syntaxe de ligne de commande ; pour plus d'informations, consultez le sid utilisateur
Documentation. Le nombre de fichiers spécifié sur la ligne de commande
varie en fonction de la langue de sortie. La description du
--Langue L'option spécifie le nombre de fichiers pour chaque langue.
INTERRUPTEURS
La nouvelle version de sid accepte à la fois les commandes de forme courte et de forme longue
commutateurs de ligne.
Les commutateurs de forme courte sont des caractères uniques et commencent par un « - » ou « + »
personnage. Ils peuvent être concaténés en un seul mot de ligne de commande,
par exemple:
-vdl fichier de vidage Nom de la langue
qui contient trois commutateurs différents (-v, qui ne prend aucun argument ;
-d, qui prend un argument : fichier de vidageEt -l, ce qui prend un
argument: Nom de la langue).
Les commutateurs de forme longue sont des chaînes et commencent par '--' ou '++'. avec longue
commutateurs de formulaire, seul le préfixe unique le plus court doit être saisi. Les
forme longue de l'exemple ci-dessus serait:
--version --dump-fichier fichier de vidage --Langue Nom de la langue
Dans la plupart des cas, les arguments du commutateur doivent suivre le commutateur comme un
mot séparé. Dans le cas des commutateurs de forme abrégée, les arguments de
la forme courte des commutateurs dans un seul mot doit suivre le mot dans le
ordre des interrupteurs (comme dans le premier exemple). Pour certaines options, le
l'argument peut faire partie du même mot que le commutateur (de telles options sont
montré sans espace entre le commutateur et l'argument dans le commutateur
résumés ci-dessous). Dans le cas des commutateurs de forme courte, un tel commutateur
mettrait fin à toute concaténation de commutateurs (soit un caractère
le suivrait, qui serait traité comme son argument, ou il serait
la fin du mot, et son argument suivrait normalement).
Pour les commutateurs binaires, les préfixes de commutateur '-' ou '--' définissent (activent) le
commutateur, et les préfixes de commutateur '+' ou '++' réinitialisent (désactivent) le commutateur.
C'est probablement à l'envers, mais c'est en accord avec d'autres programmes.
Les commutateurs '--' ou '++' terminent par eux-mêmes l'analyse des options.
ERREUR DOSSIER SYNTAXE
Il est possible de modifier les messages d'erreur qui sid les usages. Afin de
faites ceci, créez la variable d'environnement SID_ERROR_FILE contenir le nom
d'un fichier avec les nouveaux messages d'erreur dans.
Le fichier d'erreurs se compose de zéro ou plusieurs sections. Chaque section commence
avec un marqueur de section (l'un des %préfixe%, %les erreurs% or %chaînes%). La
préfixe prend une seule chaîne (cela doit être le préfixe pour tous
messages d'erreur). Les autres sections prennent zéro ou plusieurs paires de noms
et des cordes. Un nom est une séquence de caractères entourés d'un seul
devis. Une chaîne est une séquence de caractères entourée de doubles
devis. Dans le cas des sections de préfixe et d'erreur, les chaînes peuvent
contenir des variables de la forme ${variable nom}. Ces variables seront
être remplacé par une information appropriée lorsque l'erreur se produit. Les
La barre oblique inverse peut être utilisée pour échapper des caractères. Le C suivant
les séquences d'échappement de style sont reconnues : '\n','\r','\t','\0'. Aussi,
la séquence '\xNN' représente le caractère avec le code NN en hexagone. Les
le caractère dièse agit comme un commentaire sur le caractère de fin de ligne.
Le --show-erreurs L'option peut être utilisée pour obtenir une copie de l'erreur actuelle
des messages.
OPTIONS
sid accepte les options de ligne de commande suivantes :
--dump-fichier DOSSIER
-d DOSSIER
Cette option provoque des dumps intermédiaires de la grammaire
écrit dans le fichier DOSSIER.
--facteur-limite LIMIT
-f LIMIT
Cette option limite le nombre de règles pouvant être créées
pendant le processus de factorisation. Il est probablement préférable de ne pas
change ça.
--Aidez-moi
-?
Écrivez un résumé d'option à l'erreur standard.
--en ligne EN LIGNES
-i EN LIGNES
Cette option contrôle quelle incorporation sera effectuée dans la sortie
analyseur. L'argument inlines doit être une liste séparée par des virgules
des mots suivants :
SIMPLE
Cela entraîne l'intégration de règles alternatives uniques.
Cette inline n'est plus effectuée en tant que modification
à la grammaire (c'était dans la version 1.0).
BASICS Cela provoque des règles qui ne contiennent que des éléments de base (et aucun
gestionnaires d'exceptions ou alternatives vides) à
aligné. La restriction sur les gestionnaires d'exceptions et
alternatives vides est plutôt arbitraire, et peut être
changé plus tard.
TAIL Ceci provoque l'alignement des appels récursifs de la queue.
Sans cela, l'élimination de la récursivité de la queue ne sera pas
effectué.
AUTRE Ceci provoque l'alignement d'autres appels partout où
possible. A moins que l'inlining "MULTI" ne soit également
spécifié, cela ne sera fait que pour les productions qui
sont appelés une fois.
MULTI Cela provoque l'alignement des appels, même si la règle
être appelé est appelé plus d'une fois. En tournant ça
l'inline sur implique "AUTRE". De même, désactiver
L'enlignement "AUTRE" désactive l'enlignement "MULTI". Pour
grammaires de toute taille, il vaut probablement mieux éviter cela ;
s'il est utilisé, l'analyseur généré peut être énorme (par exemple, un C
grammaire a produit un fichier de plusieurs centaines
en Mo).
TOUTES
Cela active tous les inlining.
De plus, le préfixe d'un mot avec "NON" désactive cette inline
phase. Les mots peuvent être donnés dans tous les cas. ils sont évalués
dans l'ordre donné, donc :
-noall en ligne, célibataires
activerait uniquement l'inline de règle alternative unique, tandis que :
-simples en ligne, noall
désactiverait toutes les mises en ligne. La valeur par défaut est comme si SID était
invoqué avec l'option :
-noall en ligne,bases,queue
--Langue LANGUAGE
-l LANGUAGE
Cette option spécifie la langue de sortie. Actuellement ce
doit être soit "ansi-c", "pre-ansi-c", "ossg-c" ou "test".
La valeur par défaut est "ansi-c".
Les langages "ansi-c" et "pre-ansi-c" sont fondamentalement les mêmes.
La seule différence est que "ansi-c" utilise initialement la fonction
prototypes, et pas "pré-ansi-c". Le langage "ossg-c"
utilise des macros pour déclarer et définir des fonctions qui peuvent être définies
donner soit des prototypes, soit des non-prototypes. Chaque langue
prend deux fichiers d'entrée, un fichier de grammaire et un fichier d'actions, et
produit deux fichiers de sortie, un fichier source C contenant le
parseur généré et un fichier d'en-tête C contenant le
déclarations pour l'analyseur. Les options spécifiques au langage C
sont:
prototypes proto ossg-prototypes ossg-proto pas de prototypes
pas de proto
Ceux-ci activent ou désactivent l'utilisation de prototypes de fonction ou
les macros prototypes OSSG.
diviser diviser=NUMÉRO pas de division
Ceux-ci activent ou désactivent l'option de fractionnement du fichier de sortie.
Les fichiers générés peuvent être très volumineux même sans
entoilage. Cette option divise le fichier de sortie principal en un
nombre de composants contenant environ NUMÉRO lignes chacune
(la valeur par défaut étant 50000). Ces composants sont
distingué en substituant successivement 1, 2, 3, ...
pour le caractère '@' dans le nom du fichier de sortie.
numérique-ids numérique non-numérique-ids non-numérique
Ceux-ci activent ou désactivent l'utilisation d'identifiants numériques.
Les identifiants numériques remplacent le nom de l'identifiant par un
numéro, qui sert principalement à arrêter l'identifiant
les noms deviennent trop longs. L'inconvénient est que le
le code devient moins lisible et plus difficile à déboguer.
Les identifiants numériques ne sont pas utilisés par défaut et ne sont jamais
utilisé pour les numéros de bornes.
jette je ne jette pas je ne jette pas
Ceux-ci activent ou désactivent la diffusion de l'action et de l'affectation
paramètres immuables de l'opérateur. Si activé, un paramètre
est converti en son propre type lorsqu'il est substitué dans le
action. Cela amènera certains compilateurs à se plaindre de
tente de modifier le paramètre (ce qui peut aider à repérer
tentatives de mutation de paramètres qui ne devraient pas être
muté). L'inconvénient est que tous les compilateurs
rejettera les tentatives de mutation, et que l'ANSI ne
autoriser le casting aux types de structure et d'union, ce qui signifie
qu'un code peut être illégal. La coulée des paramètres est
désactivé par défaut.
macros inaccessibles macros inaccessibles commentaires inaccessibles
commentaire-inaccessible
Ceux-ci choisissent si le code inaccessible est marqué par un
macro ou un commentaire. La valeur par défaut est de marquer inaccessible
code avec un commentaire "/*UNREACHED*/", cependant une macro
« NON ATTEINT ; » peut être utilisé à la place, si vous le souhaitez.
lignes ligne sans ligne sans ligne
Ceux-ci déterminent si les directives "#line" doivent être
output pour lier le fichier de sortie au fichier d'actions.
Ceux-ci sont générés par défaut.
Le langage "test" ne prend qu'un seul fichier d'entrée et ne produit aucun
fichier de sortie. Il peut être utilisé pour vérifier qu'une grammaire est valide.
En conjonction avec le fichier de vidage, il peut être utilisé pour vérifier le
transformations qui seraient appliquées à la grammaire. Il y a
pas d'options spécifiques à la langue pour la langue "test".
--show-erreurs
-e
Écrire la liste des messages d'erreur actuelle sur la sortie standard.
--changer OPTION
-s OPTION
Traverser OPTION comme option spécifique à la langue.
--tab-largeur NUMÉRO
-t NUMÉRO
Cette option spécifie le nombre d'espaces qu'un onglet occupe.
La valeur par défaut est 8. Elle n'est utilisée que lors de l'indentation de la sortie.
--version
-v
Cette option fait apparaître le numéro de version et les langues prises en charge.
être écrit dans le flux d'erreur standard.
Utiliser sid en ligne à l'aide des services onworks.net
