2010-03-03 3 views
2

L'utilisation la plus simple de la grammaire me donne une erreur de complétion.Problème d'utilisation de la grammaire avec rakudo perl6

use v6; 
grammar Foo { 
    token bar { \w+ } 
} 
say 'abc' ~~ /<Foo::bar>/; 

comme src/rakudo/perl6 simple.p6 invoqué, il échoue avec

regex assertion not terminated by angle bracket at line 7, near "::bar>/;\n" 
... 

J'ai essayé un certain nombre d'exemples au travail connu avec des résultats similaires, donc je suppose que ma configuration perl6 est incorrecte.

Si vous utilisez la grammaire avec perl6, montrez-moi votre configuration. Merci d'avance.

Répondre

3

Je suis désolé; votre message d'erreur contient deux indices (line 7, ::bar) que le code que vous avez collé n'est pas suffisant pour diagnostiquer votre problème. Il n'y a tout simplement pas assez d'informations pour comprendre votre problème. En dehors de cela, vous avez une parenthèse de fermeture incohérente dans la dernière ligne du code que vous avez publié, et vous n'avez pas déclaré <Foo::bar>.

Je ne pense pas que votre configuration de Perl 6 soit incorrecte, pour ce que ça vaut. Il n'y a rien dans ce que vous avez écrit pour l'indiquer.

+0

Merci d'avoir souligné l'erreur de syntaxe avec l'exemple. J'ai mis à jour le code. Retourner à (# 25 "Minneapolis") à partir de l'instantané de Février a corrigé l'erreur. Le code ci-dessus fonctionne maintenant: rakudo-2010-01/parrot_install/bin/perl6 simple.p6 abc Merci pour votre travail acharné sur Perl6 et j'ai hâte de l'utiliser. – tengu

2

La version de Rakudo 2010.02 (# 26 "Amsterdam") a une régression qui interrompt l'importation de module. Utilisez version Rakudo 2010-01 (# 25 "Minneapolis") à la place. page de téléchargement est ici: http://github.com/rakudo/rakudo/downloads