Skip to content

Commit f39d5ea

Browse files
authored
AtCoderの言語アップデートに追従 (#270)
* Update C++ compiler version * Update other compiler versions * Fix test function name * Add language patterns for old judges
1 parent 3409c57 commit f39d5ea

File tree

10 files changed

+106
-67
lines changed

10 files changed

+106
-67
lines changed

atcodertools/common/language.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,10 @@ def from_name(cls, name: str):
8787
name="cpp",
8888
display_name="C++",
8989
extension="cpp",
90-
submission_lang_pattern=re.compile(
91-
".*C\\+\\+ \\(GCC 9.*|.*C\\+\\+14 \\(GCC 5.*"),
90+
submission_lang_pattern=re.compile(".*C\\+\\+ \\(GCC 9.*|.*C\\+\\+ 20 "),
9291
default_code_generator=cpp.main,
9392
default_template_path=get_default_template_path('cpp'),
94-
compile_command="g++ {filename}.cpp -o {filename} -std=c++14",
93+
compile_command="g++ {filename}.cpp -o {filename} -std=c++20",
9594
test_command="{exec_filename}",
9695
exec_filename="{filename}{exec_extension}"
9796
)
@@ -100,7 +99,7 @@ def from_name(cls, name: str):
10099
name="java",
101100
display_name="Java",
102101
extension="java",
103-
submission_lang_pattern=re.compile(".*Java8.*|.*Java \\(OpenJDK 11.*"),
102+
submission_lang_pattern=re.compile(".*Java \\(OpenJDK .*"),
104103
default_code_generator=java.main,
105104
default_template_path=get_default_template_path('java'),
106105
compile_command="javac {filename}.java",
@@ -112,7 +111,7 @@ def from_name(cls, name: str):
112111
name="rust",
113112
display_name="Rust",
114113
extension="rs",
115-
submission_lang_pattern=re.compile(".*Rust \\(1.*"),
114+
submission_lang_pattern=re.compile(".*Rust \\(1.*|.*Rust \\(rustc 1.*"),
116115
default_code_generator=rust.main,
117116
default_template_path=get_default_template_path('rs'),
118117
compile_command="rustc {filename}.rs -o {filename}",
@@ -124,7 +123,7 @@ def from_name(cls, name: str):
124123
name="python",
125124
display_name="Python",
126125
extension="py",
127-
submission_lang_pattern=re.compile(".*Python3.*|^Python$"),
126+
submission_lang_pattern=re.compile(".*Python \\(3.*|.*Python \\(CPython 3.*"),
128127
default_code_generator=python.main,
129128
default_template_path=get_default_template_path('py'),
130129
compile_command="python3 -mpy_compile {filename}.py",
@@ -148,7 +147,7 @@ def from_name(cls, name: str):
148147
name="nim",
149148
display_name="NIM",
150149
extension="nim",
151-
submission_lang_pattern=re.compile(".*Nim \\(1.*"),
150+
submission_lang_pattern=re.compile(".*Nim \\(1.*|.*Nim \\(Nim 1.*"),
152151
default_code_generator=nim.main,
153152
default_template_path=get_default_template_path('nim'),
154153
default_code_style=CodeStyle(indent_width=2),
@@ -161,7 +160,7 @@ def from_name(cls, name: str):
161160
name="cs",
162161
display_name="C#",
163162
extension="cs",
164-
submission_lang_pattern=re.compile(".*C# \\(Mono.*"),
163+
submission_lang_pattern=re.compile(".*C# \\(Mono.*|.*C# 11.0 "),
165164
default_code_generator=cs.main,
166165
default_template_path=get_default_template_path('cs'),
167166
compile_command="mcs {filename}.cs -o {filename}",
@@ -173,7 +172,7 @@ def from_name(cls, name: str):
173172
name="swift",
174173
display_name="Swift",
175174
extension="swift",
176-
submission_lang_pattern=re.compile("^Swift"),
175+
submission_lang_pattern=re.compile(".*Swift \\(5.*|.*Swift \\(swift 5.*"),
177176
default_code_generator=swift.main,
178177
default_template_path=get_default_template_path('swift'),
179178
compile_command="swiftc {filename}.swift -o {filename}",
@@ -185,7 +184,7 @@ def from_name(cls, name: str):
185184
name="go",
186185
display_name="Go",
187186
extension="go",
188-
submission_lang_pattern=re.compile(".*Go \\(1.*"),
187+
submission_lang_pattern=re.compile(".*Go \\(1.*|.*Go \\(go 1.*"),
189188
default_code_generator=go.main,
190189
default_template_path=get_default_template_path('go'),
191190
default_code_style=CodeStyle(indent_type=INDENT_TYPE_TAB),
@@ -198,7 +197,7 @@ def from_name(cls, name: str):
198197
name="julia",
199198
display_name="Julia",
200199
extension="jl",
201-
submission_lang_pattern=re.compile(".*Julia.*"),
200+
submission_lang_pattern=re.compile(".*Julia \\(1.*|.*Julia \\(Julia 1.*"),
202201
default_code_generator=julia.main,
203202
default_template_path=get_default_template_path('jl'),
204203
compile_command="",

tests/resources/test_atcoder_client_mock/my_submissions/1.html

Lines changed: 20 additions & 20 deletions
Large diffs are not rendered by default.

tests/resources/test_atcoder_client_mock/my_submissions/2.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ <h2>自分の提出</h2>
305305
<select id="select-language" class="form-control" data-placeholder="-" data-allow-clear="true" name="f.Language">
306306
<option></option>
307307

308-
<option value="3003">C&#43;&#43;14 (GCC 5.4.1)</option>
308+
<option value="3003">C&#43;&#43; 20 (gcc 12.2)</option>
309309

310310
<option value="3001">Bash (GNU bash v4.3.11)</option>
311311

@@ -493,7 +493,7 @@ <h2>自分の提出</h2>
493493
<td class="no-break"><time class='fixtime fixtime-second'>2018-12-31 17:33:05+0900</time></td>
494494
<td><a href="/contests/arc001/tasks/arc001_1">A - センター採点</a></td>
495495
<td><a href="/users/kyuridenamida">sigma425</a> <a href='/contests/arc001/submissions?f.User=kyuridenamida'><span class='glyphicon glyphicon-search black' aria-hidden='true' data-toggle='tooltip' title='sigma425さんの提出を見る'></span></a></td>
496-
<td>C&#43;&#43;14 (GCC 5.4.1)</td>
496+
<td>C&#43;&#43; 20 (gcc 12.2)</td>
497497
<td class="text-right submission-score" data-id="3904990">0</td>
498498
<td class="text-right">123 Byte</td>
499499
<td class='text-center'><span class='label label-warning' aria-hidden='true' data-toggle='tooltip' data-placement='top' title="不正解">WA</span></td><td class='text-right'>1 ms</td><td class='text-right'>256 KB</td>
@@ -507,7 +507,7 @@ <h2>自分の提出</h2>
507507
<td class="no-break"><time class='fixtime fixtime-second'>2018-12-31 17:32:13+0900</time></td>
508508
<td><a href="/contests/arc001/tasks/arc001_1">A - センター採点</a></td>
509509
<td><a href="/users/kyuridenamida">sigma425</a> <a href='/contests/arc001/submissions?f.User=kyuridenamida'><span class='glyphicon glyphicon-search black' aria-hidden='true' data-toggle='tooltip' title='sigma425さんの提出を見る'></span></a></td>
510-
<td>C&#43;&#43;14 (GCC 5.4.1)</td>
510+
<td>C&#43;&#43; 20 (gcc 12.2)</td>
511511
<td class="text-right submission-score" data-id="3904987">0</td>
512512
<td class="text-right">123 Byte</td>
513513
<td class='text-center'><span class='label label-warning' aria-hidden='true' data-toggle='tooltip' data-placement='top' title="不正解">WA</span></td><td class='text-right'>1 ms</td><td class='text-right'>256 KB</td>
@@ -675,7 +675,7 @@ <h2>自分の提出</h2>
675675
<td class="no-break"><time class='fixtime fixtime-second'>2018-12-31 16:43:15+0900</time></td>
676676
<td><a href="/contests/arc001/tasks/arc001_1">A - センター採点</a></td>
677677
<td><a href="/users/kyuridenamida">sigma425</a> <a href='/contests/arc001/submissions?f.User=kyuridenamida'><span class='glyphicon glyphicon-search black' aria-hidden='true' data-toggle='tooltip' title='sigma425さんの提出を見る'></span></a></td>
678-
<td>C&#43;&#43;14 (GCC 5.4.1)</td>
678+
<td>C&#43;&#43; 20 (gcc 12.2)</td>
679679
<td class="text-right submission-score" data-id="3904670">0</td>
680680
<td class="text-right">5 Byte</td>
681681
<td colspan='3' class='text-center'><span class='label label-warning' aria-hidden='true' data-toggle='tooltip' data-placement='top' title="コンパイルエラー">CE</span></td>
@@ -689,7 +689,7 @@ <h2>自分の提出</h2>
689689
<td class="no-break"><time class='fixtime fixtime-second'>2018-12-31 16:43:01+0900</time></td>
690690
<td><a href="/contests/arc001/tasks/arc001_1">A - センター採点</a></td>
691691
<td><a href="/users/kyuridenamida">sigma425</a> <a href='/contests/arc001/submissions?f.User=kyuridenamida'><span class='glyphicon glyphicon-search black' aria-hidden='true' data-toggle='tooltip' title='sigma425さんの提出を見る'></span></a></td>
692-
<td>C&#43;&#43;14 (GCC 5.4.1)</td>
692+
<td>C&#43;&#43; 20 (gcc 12.2)</td>
693693
<td class="text-right submission-score" data-id="3904667">0</td>
694694
<td class="text-right">3 Byte</td>
695695
<td colspan='3' class='text-center'><span class='label label-warning' aria-hidden='true' data-toggle='tooltip' data-placement='top' title="コンパイルエラー">CE</span></td>
@@ -703,7 +703,7 @@ <h2>自分の提出</h2>
703703
<td class="no-break"><time class='fixtime fixtime-second'>2018-12-31 16:41:23+0900</time></td>
704704
<td><a href="/contests/arc001/tasks/arc001_1">A - センター採点</a></td>
705705
<td><a href="/users/kyuridenamida">sigma425</a> <a href='/contests/arc001/submissions?f.User=kyuridenamida'><span class='glyphicon glyphicon-search black' aria-hidden='true' data-toggle='tooltip' title='sigma425さんの提出を見る'></span></a></td>
706-
<td>C&#43;&#43;14 (GCC 5.4.1)</td>
706+
<td>C&#43;&#43; 20 (gcc 12.2)</td>
707707
<td class="text-right submission-score" data-id="3904655">0</td>
708708
<td class="text-right">1 Byte</td>
709709
<td colspan='3' class='text-center'><span class='label label-warning' aria-hidden='true' data-toggle='tooltip' data-placement='top' title="コンパイルエラー">CE</span></td>
@@ -717,7 +717,7 @@ <h2>自分の提出</h2>
717717
<td class="no-break"><time class='fixtime fixtime-second'>2018-12-31 16:39:38+0900</time></td>
718718
<td><a href="/contests/arc001/tasks/arc001_1">A - センター採点</a></td>
719719
<td><a href="/users/kyuridenamida">sigma425</a> <a href='/contests/arc001/submissions?f.User=kyuridenamida'><span class='glyphicon glyphicon-search black' aria-hidden='true' data-toggle='tooltip' title='sigma425さんの提出を見る'></span></a></td>
720-
<td>C&#43;&#43;14 (GCC 5.4.1)</td>
720+
<td>C&#43;&#43; 20 (gcc 12.2)</td>
721721
<td class="text-right submission-score" data-id="3904644">0</td>
722722
<td class="text-right">2 Byte</td>
723723
<td colspan='3' class='text-center'><span class='label label-warning' aria-hidden='true' data-toggle='tooltip' data-placement='top' title="コンパイルエラー">CE</span></td>
@@ -731,7 +731,7 @@ <h2>自分の提出</h2>
731731
<td class="no-break"><time class='fixtime fixtime-second'>2017-11-04 20:57:56+0900</time></td>
732732
<td><a href="/contests/arc001/tasks/arc001_1">A - センター採点</a></td>
733733
<td><a href="/users/kyuridenamida">sigma425</a> <a href='/contests/arc001/submissions?f.User=kyuridenamida'><span class='glyphicon glyphicon-search black' aria-hidden='true' data-toggle='tooltip' title='sigma425さんの提出を見る'></span></a></td>
734-
<td>C&#43;&#43;14 (GCC 5.4.1)</td>
734+
<td>C&#43;&#43; 20 (gcc 12.2)</td>
735735
<td class="text-right submission-score" data-id="1736948">0</td>
736736
<td class="text-right">1615 Byte</td>
737737
<td class='text-center'><span class='label label-warning' aria-hidden='true' data-toggle='tooltip' data-placement='top' title="不正解">WA</span></td><td class='text-right'>1 ms</td><td class='text-right'>256 KB</td>

tests/resources/test_atcoder_client_mock/my_submissions/3.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ <h2>自分の提出</h2>
305305
<select id="select-language" class="form-control" data-placeholder="-" data-allow-clear="true" name="f.Language">
306306
<option></option>
307307

308-
<option value="3003">C&#43;&#43;14 (GCC 5.4.1)</option>
308+
<option value="3003">C&#43;&#43; 20 (gcc 12.2)</option>
309309

310310
<option value="3001">Bash (GNU bash v4.3.11)</option>
311311

tests/resources/test_atcoder_client_mock/my_submissions/4.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ <h2>自分の提出</h2>
305305
<select id="select-language" class="form-control" data-placeholder="-" data-allow-clear="true" name="f.Language">
306306
<option></option>
307307

308-
<option value="3003">C&#43;&#43;14 (GCC 5.4.1)</option>
308+
<option value="3003">C&#43;&#43; 20 (gcc 12.2)</option>
309309

310310
<option value="3001">Bash (GNU bash v4.3.11)</option>
311311

tests/resources/test_atcoder_client_mock/submit/after_get.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ <h2>提出</h2>
290290
<select class="form-control" data-placeholder="-" style="width:300px;">
291291
<option></option>
292292

293-
<option value="3003" data-mime="text/x-c&#43;&#43;src">C&#43;&#43;14 (GCC 5.4.1)</option>
293+
<option value="3003" data-mime="text/x-c&#43;&#43;src">C&#43;&#43; 20 (gcc 12.2)</option>
294294

295295
<option value="3001" data-mime="text/x-sh">Bash (GNU bash v4.3.11)</option>
296296

@@ -409,7 +409,7 @@ <h2>提出</h2>
409409
<select class="form-control" data-placeholder="-" style="width:300px;">
410410
<option></option>
411411

412-
<option value="3003" data-mime="text/x-c&#43;&#43;src">C&#43;&#43;14 (GCC 5.4.1)</option>
412+
<option value="3003" data-mime="text/x-c&#43;&#43;src">C&#43;&#43; 20 (gcc 12.2)</option>
413413

414414
<option value="3001" data-mime="text/x-sh">Bash (GNU bash v4.3.11)</option>
415415

@@ -528,7 +528,7 @@ <h2>提出</h2>
528528
<select class="form-control" data-placeholder="-" style="width:300px;">
529529
<option></option>
530530

531-
<option value="3003" data-mime="text/x-c&#43;&#43;src">C&#43;&#43;14 (GCC 5.4.1)</option>
531+
<option value="3003" data-mime="text/x-c&#43;&#43;src">C&#43;&#43; 20 (gcc 12.2)</option>
532532

533533
<option value="3001" data-mime="text/x-sh">Bash (GNU bash v4.3.11)</option>
534534

@@ -647,7 +647,7 @@ <h2>提出</h2>
647647
<select class="form-control" data-placeholder="-" style="width:300px;">
648648
<option></option>
649649

650-
<option value="3003" data-mime="text/x-c&#43;&#43;src">C&#43;&#43;14 (GCC 5.4.1)</option>
650+
<option value="3003" data-mime="text/x-c&#43;&#43;src">C&#43;&#43; 20 (gcc 12.2)</option>
651651

652652
<option value="3001" data-mime="text/x-sh">Bash (GNU bash v4.3.11)</option>
653653

0 commit comments

Comments
 (0)