コンパイラまたはインタープリターの構文エラーメッセージを出力するプログラムを作成します。エラーメッセージは誤解を招くものである必要があります。そのため、コードメンテナーはエラーが偽造されたことを見つけるのに数日かかります。また、エラーはできるだけ正確でなければならず、コードを正しく参照する必要があります。
準拠言語の場合、コードメンテナーがcompile program.p && ./program
コマンドラインでプログラムをコンパイルして実行すると想定します。つまり、コンパイラーからの出力かプログラム自体からの出力かを区別できません。また、コードメンテナが構文エラーメッセージを有効にすることを前提としています。
参考のために、ここに私が作成した例を示します:https : //gist.github.com/359604
DATA
セクションには、エラーメッセージの文字列を符号化し、ハッシュが%abcdef
デコード表です。エラーはバックスラッシュへの参照を出力します。これにより、コード管理者はバックスラッシュをカウントしようとします。
エントリーの採点:
- コードには一見明白な意図がある
/6
- コードはエラーを正しく再現します
/16
(ポイントは16から始まり、各不正確さの対応する要因で除算されます)- 正しい大文字:4
- 正しい行番号と列番号:4
- 正しい言い回し:間違った単語ごとに2つ
- 参照されている行番号は、コード管理者を誤解させます
/3
例えば、
./pythontest1.py: line 7: syntax error near token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
「トークン」の前に「予期しない」が欠落していることの正確性について8(16/2)を取得します。通常のPythonインタープリターが表示されます
./pythontest1.py: line 7: syntax error near unexpected token `('
./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input'
「コードがエラーを正しく再現する」ポイントが1未満の場合、エントリは失格となります。
同点の場合、追加のグレーディングファクターを追加します。