et qu'il concerne tout langage, pas uniquement ceux qui sont interprétés.
pourquoi pas
Ce qui va mener sur le débat suivant :
Où chercher quand on a besoin d'une définition correcte pour quelque chose ayant trait à l'informatique ?
Fabrice..Bacchella
On Sun, 23 May 2004 15:41:40 +0200, DINH Viêt Hoà wrote:
Je retiens donc que c'est un terme générique, et qu'il concerne un langage interprété. Vais me coucher moins bête :-p
et qu'il concerne tout langage, pas uniquement ceux qui sont interprétés.
& fichiers de conf en gros tout fichier texte structuré. J'ai un doute tout d'un coup. Est-ce qu'un parser remonte la grammaire ou il s'arrête juste à la liste des tokens ? En vérifiant dans le man de lex & yacc, il apparaît que c'est yacc qui génère le parser. Donc un parser est un programme qui prend un flux textuel & en analyse la grammaire. Quelqu'un a-t-il une définition plus formelle ?
--- http://fba.homeip.net
On Sun, 23 May 2004 15:41:40 +0200, DINH Viêt Hoà
<dinh.viet.hoa@free.fr> wrote:
Je retiens donc que c'est un terme générique, et qu'il concerne un
langage interprété. Vais me coucher moins bête :-p
et qu'il concerne tout langage, pas uniquement ceux qui sont
interprétés.
& fichiers de conf en gros tout fichier texte structuré. J'ai un doute
tout d'un coup. Est-ce qu'un parser remonte la grammaire ou il
s'arrête juste à la liste des tokens ?
En vérifiant dans le man de lex & yacc, il apparaît que c'est yacc qui
génère le parser. Donc un parser est un programme qui prend un flux
textuel & en analyse la grammaire. Quelqu'un a-t-il une définition
plus formelle ?
On Sun, 23 May 2004 15:41:40 +0200, DINH Viêt Hoà wrote:
Je retiens donc que c'est un terme générique, et qu'il concerne un langage interprété. Vais me coucher moins bête :-p
et qu'il concerne tout langage, pas uniquement ceux qui sont interprétés.
& fichiers de conf en gros tout fichier texte structuré. J'ai un doute tout d'un coup. Est-ce qu'un parser remonte la grammaire ou il s'arrête juste à la liste des tokens ? En vérifiant dans le man de lex & yacc, il apparaît que c'est yacc qui génère le parser. Donc un parser est un programme qui prend un flux textuel & en analyse la grammaire. Quelqu'un a-t-il une définition plus formelle ?
--- http://fba.homeip.net
DINH Viêt Hoà
et qu'il concerne tout langage, pas uniquement ceux qui sont interprétés.
& fichiers de conf en gros tout fichier texte structuré.
Dans ces deux cas, le contenu du fichier respecte la structure d'un langage.
J'ai un doute tout d'un coup. Est-ce qu'un parser remonte la grammaire ou il s'arrête juste à la liste des tokens ?
"parser" est également utilisé dans le cadre d'analyse grammaticale. "parser" se traduit par "analyseur", on a : - analyse lexicale (séparation des lexèmes) - analyse grammaticale (structuration du langage)
-- DINH V. Hoa,
"sinon je suis le meilleur ingénieur du monde" -- Arsunik [2]
et qu'il concerne tout langage, pas uniquement ceux qui sont
interprétés.
& fichiers de conf en gros tout fichier texte structuré.
Dans ces deux cas, le contenu du fichier respecte la structure d'un
langage.
J'ai un doute tout d'un coup. Est-ce qu'un parser remonte la grammaire
ou il s'arrête juste à la liste des tokens ?
"parser" est également utilisé dans le cadre d'analyse grammaticale.
"parser" se traduit par "analyseur", on a :
- analyse lexicale (séparation des lexèmes)
- analyse grammaticale (structuration du langage)
--
DINH V. Hoa,
"sinon je suis le meilleur ingénieur du monde" -- Arsunik [2]
et qu'il concerne tout langage, pas uniquement ceux qui sont interprétés.
& fichiers de conf en gros tout fichier texte structuré.
Dans ces deux cas, le contenu du fichier respecte la structure d'un langage.
J'ai un doute tout d'un coup. Est-ce qu'un parser remonte la grammaire ou il s'arrête juste à la liste des tokens ?
"parser" est également utilisé dans le cadre d'analyse grammaticale. "parser" se traduit par "analyseur", on a : - analyse lexicale (séparation des lexèmes) - analyse grammaticale (structuration du langage)
-- DINH V. Hoa,
"sinon je suis le meilleur ingénieur du monde" -- Arsunik [2]
Unknown
Suivant la complexité du fichier, tu peux t'en sortir d'un coup de awk, ou bien tuu devra faire appel à un vrai parseur XML. Peux tu détailler un peu plus?
Ce qu'il faudrait c'est un exemple de fichier et quels outils a t'on le droit d'utiliser.
Suivant la complexité du fichier, tu peux t'en sortir d'un coup de awk,
ou bien tuu devra faire appel à un vrai parseur XML. Peux tu détailler
un peu plus?
Ce qu'il faudrait c'est un exemple de fichier et quels outils a t'on le
droit d'utiliser.
Suivant la complexité du fichier, tu peux t'en sortir d'un coup de awk, ou bien tuu devra faire appel à un vrai parseur XML. Peux tu détailler un peu plus?
Ce qu'il faudrait c'est un exemple de fichier et quels outils a t'on le droit d'utiliser.
manu
Unknown wrote:
parceque j'aime bien les gens du forum voila un petit parseur simpliste écrit en bash pur que je viens de sortir. Ca marche pour les fichiers xml du genre : <OpenJBroker> <DataFlow> <Name>Flux 1</Name> <QManager>ARIEL</QManager> <QIn>QIN_FLUX1</QIn> <QFailure>QFAILURE_FLUX1</QFailure> ...
voila le bout de code qui ramene la valeur pour le tag QManager, pour les autres il suffit d'extrapoler un peu le code ca devrait aller.
Bon, en même temps, avec les outils adequats, y'a qu'à ecrire qu'on veut /OpenJBroker/DataFLow/()
-- Emmanuel Dreyfus A lire: 240 pages en français sur l'administration UNIX avec BSD http://www.eyrolles.com/php.informatique/Ouvrages/9782212112443.php3
Unknown <Unknown@devnull.null> wrote:
parceque j'aime bien les gens du forum voila un petit parseur simpliste
écrit en bash pur que je viens de sortir.
Ca marche pour les fichiers xml du genre :
<OpenJBroker>
<DataFlow>
<Name>Flux 1</Name>
<QManager>ARIEL</QManager>
<QIn>QIN_FLUX1</QIn>
<QFailure>QFAILURE_FLUX1</QFailure>
...
voila le bout de code qui ramene la valeur pour le tag QManager, pour les
autres il suffit d'extrapoler un peu le code ca devrait aller.
Bon, en même temps, avec les outils adequats, y'a qu'à ecrire qu'on veut
/OpenJBroker/DataFLow/QFailure@text()
--
Emmanuel Dreyfus
A lire: 240 pages en français sur l'administration UNIX avec BSD
http://www.eyrolles.com/php.informatique/Ouvrages/9782212112443.php3
manu@netbsd.org
parceque j'aime bien les gens du forum voila un petit parseur simpliste écrit en bash pur que je viens de sortir. Ca marche pour les fichiers xml du genre : <OpenJBroker> <DataFlow> <Name>Flux 1</Name> <QManager>ARIEL</QManager> <QIn>QIN_FLUX1</QIn> <QFailure>QFAILURE_FLUX1</QFailure> ...
voila le bout de code qui ramene la valeur pour le tag QManager, pour les autres il suffit d'extrapoler un peu le code ca devrait aller.
Bon, en même temps, avec les outils adequats, y'a qu'à ecrire qu'on veut /OpenJBroker/DataFLow/()
-- Emmanuel Dreyfus A lire: 240 pages en français sur l'administration UNIX avec BSD http://www.eyrolles.com/php.informatique/Ouvrages/9782212112443.php3
Unknown
Je cherche à récupérer certaine donnée d'un fichier xml en Bash. Existe t'il un parseur ? Si non, comment puis je faire ?
parceque j'aime bien les gens du forum voila un petit parseur simpliste écrit en bash pur que je viens de sortir. Ca marche pour les fichiers xml du genre : <OpenJBroker> <DataFlow> <Name>Flux 1</Name> <QManager>ARIEL</QManager> <QIn>QIN_FLUX1</QIn> <QFailure>QFAILURE_FLUX1</QFailure> ...
voila le bout de code qui ramene la valeur pour le tag QManager, pour les autres il suffit d'extrapoler un peu le code ca devrait aller.
#! /bin/bash QMANAGER_D="<QManager>" QMANAGER_F="</QManager>" while read ligne do TAG=${ligne:0:${#QMANAGER_D}} if [ "$TAG" = "$QMANAGER_D" ] then QManager=${ligne:${#QMANAGER_D}:$((${#ligne}-${#QMANAGER_F}-${#QMANAGER_D}-1))} fi # recopier les 4 lignes d'avant pour chaque valeur à ramener. done < dataflows.xml
j'insiste sur le fait que c'est en pur bash, ca serait plus lisible en java mais moins marrant :)
Par avance merci
de rien.
Martin
Je cherche à récupérer certaine donnée d'un fichier xml en Bash.
Existe t'il un parseur ?
Si non, comment puis je faire ?
parceque j'aime bien les gens du forum voila un petit parseur simpliste
écrit en bash pur que je viens de sortir.
Ca marche pour les fichiers xml du genre :
<OpenJBroker>
<DataFlow>
<Name>Flux 1</Name>
<QManager>ARIEL</QManager>
<QIn>QIN_FLUX1</QIn>
<QFailure>QFAILURE_FLUX1</QFailure>
...
voila le bout de code qui ramene la valeur pour le tag QManager, pour les
autres il suffit d'extrapoler un peu le code ca devrait aller.
#! /bin/bash
QMANAGER_D="<QManager>"
QMANAGER_F="</QManager>"
while read ligne
do
TAG=${ligne:0:${#QMANAGER_D}}
if [ "$TAG" = "$QMANAGER_D" ]
then QManager=${ligne:${#QMANAGER_D}:$((${#ligne}-${#QMANAGER_F}-${#QMANAGER_D}-1))}
fi
# recopier les 4 lignes d'avant pour chaque valeur à ramener.
done < dataflows.xml
j'insiste sur le fait que c'est en pur bash, ca serait plus lisible en
java mais moins marrant :)
Je cherche à récupérer certaine donnée d'un fichier xml en Bash. Existe t'il un parseur ? Si non, comment puis je faire ?
parceque j'aime bien les gens du forum voila un petit parseur simpliste écrit en bash pur que je viens de sortir. Ca marche pour les fichiers xml du genre : <OpenJBroker> <DataFlow> <Name>Flux 1</Name> <QManager>ARIEL</QManager> <QIn>QIN_FLUX1</QIn> <QFailure>QFAILURE_FLUX1</QFailure> ...
voila le bout de code qui ramene la valeur pour le tag QManager, pour les autres il suffit d'extrapoler un peu le code ca devrait aller.
#! /bin/bash QMANAGER_D="<QManager>" QMANAGER_F="</QManager>" while read ligne do TAG=${ligne:0:${#QMANAGER_D}} if [ "$TAG" = "$QMANAGER_D" ] then QManager=${ligne:${#QMANAGER_D}:$((${#ligne}-${#QMANAGER_F}-${#QMANAGER_D}-1))} fi # recopier les 4 lignes d'avant pour chaque valeur à ramener. done < dataflows.xml
j'insiste sur le fait que c'est en pur bash, ca serait plus lisible en java mais moins marrant :)
Par avance merci
de rien.
Martin
Unknown
#! /bin/bash QMANAGER_D="<QManager>" QMANAGER_F="</QManager>" while read ligne do TAG=${ligne:0:${#QMANAGER_D}}
Petite précision, j'ai mis des variables pour qu'il soit facile de faire un moteur générique avec quelques eval bien placés.
#! /bin/bash
QMANAGER_D="<QManager>"
QMANAGER_F="</QManager>"
while read ligne
do
TAG=${ligne:0:${#QMANAGER_D}}
Petite précision, j'ai mis des variables pour qu'il soit facile de faire
un moteur générique avec quelques eval bien placés.