Écrivez un programme qui affiche le message d'erreur de syntaxe du compilateur ou de l'interpréteur. Le message d'erreur doit être trompeur afin que les responsables du code mettent des jours à découvrir que l'erreur a été truquée, cela signifie que vous devez masquer (et masquer votre intention). En outre, l'erreur doit être aussi exacte que possible et doit faire référence au code correctement.
Pour les langages conformes, supposez que votre responsable de code fera compile program.p && ./program
sur la ligne de commande pour compiler ET exécuter le programme, cela signifie qu'il ne peut pas distinguer si la sortie provient du compilateur ou du programme lui-même. Supposez également que votre responsable de code active les messages d'erreur de syntaxe.
Pour référence, voici un exemple que j'ai fait: https://gist.github.com/359604
La DATA
section code la chaîne de message d'erreur et le hachage %abcdef
est la table de décodage. L'erreur a imprimé des références aux barres obliques inverses, ce qui oblige un responsable du code à essayer de compter les barres obliques inverses.
Les inscriptions seront classées par:
- Le code a une intention trompeuse évidente
/6
- Le code reproduit correctement l'erreur
/16
(votre point commence par 16, et divisez par les facteurs correspondants pour chaque inexactitude)- Capitalisation correcte: 4
- Numéro de ligne et numéro de colonne corrects: 4
- Libellé correct: 2 pour chaque mot incorrect
- Le numéro de ligne référencé induit en erreur le responsable du code
/3
Par exemple,
./pythontest1.py: line 7: syntax error near token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
obtient 8 (16/2) sur l'exactitude pour "inattendu" manquant avant "jeton", un interpréteur Python normal affiche
./pythontest1.py: line 7: syntax error near unexpected token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
Si votre point "code reproduit l'erreur correctement" est inférieur à 1, votre inscription est disqualifiée.
En cas d'égalité, je mettrai en place des facteurs de classement supplémentaires.