190 lines
12 KiB
PHP
190 lines
12 KiB
PHP
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
<title>
|
||
<?php echo $MSG_COMPILE_INFO; ?> - <?php echo $OJ_NAME; ?>
|
||
</title>
|
||
<?php require("./template/bshark/header-files.php"); ?>
|
||
</head>
|
||
|
||
<body>
|
||
<?php require("./template/bshark/nav.php"); ?>
|
||
<div class="ui container bsharkMain">
|
||
<div class="card">
|
||
<div class="card-body">
|
||
<h2>
|
||
<?php echo $MSG_COMPILE_INFO; ?>
|
||
</h2>
|
||
<div class="card" style="box-shadow:0px 3px 3px #ddd;">
|
||
<div class="card-body">
|
||
<pre><code><?php echo $view_reinfo ?></code></pre>
|
||
</div>
|
||
</div>
|
||
<span style="display:none" id="errtxt"><?php echo $view_reinfo; ?></span><br>
|
||
<button class="ui button" onclick="explain();this.style.display='none';">显示辅助信息</button>
|
||
<div id='errexp'></div>
|
||
<script>
|
||
var i = 0;
|
||
var pats = new Array();
|
||
var exps = new Array();
|
||
pats[i] = /System\.out\.print.*%.*/;
|
||
exps[i++] = "<?php echo $MSG_SYSTEM_OUT_PRINT; ?>";
|
||
pats[i] = /.*没有那个文件或目录.*/;
|
||
exps[i++] = "<?php echo $MSG_NO_SUCH_FILE_OR_DIRECTORY; ?>";
|
||
pats[i] = /not a statement/;
|
||
exps[i++] = "<?php echo $MSG_NOT_A_STATEMENT; ?>";
|
||
pats[i] = /class, interface, or enum expected/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_CLASS_INTERFACE_ENUM; ?>";
|
||
pats[i] = /asm.*java/;
|
||
exps[i++] = "<?php echo $MSG_SUBMIT_JAVA_AS_C_LANG; ?>";
|
||
pats[i] = /package .* does not exist/;
|
||
exps[i++] = "<?php echo $MSG_DOES_NOT_EXIST_PACKAGE; ?>";
|
||
pats[i] = /possible loss of precision/;
|
||
exps[i++] = "<?php echo $MSG_POSSIBLE_LOSS_OF_PRECISION; ?>";
|
||
pats[i] = /incompatible types/;
|
||
exps[i++] = "<?php echo $MSG_INCOMPATIBLE_TYPES; ?>";
|
||
pats[i] = /illegal start of expression/;
|
||
exps[i++] = "<?php echo $MSG_ILLEGAL_START_OF_EXPRESSION; ?>";
|
||
pats[i] = /cannot find symbol/;
|
||
exps[i++] = "<?php echo $MSG_CANNOT_FIND_SYMBOL; ?>";
|
||
pats[i] = /';' expected/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_SEMICOLON; ?>";
|
||
pats[i] = /should be declared in a file named/;
|
||
exps[i++] = "<?php echo $MSG_DECLARED_JAVA_FILE_NAMED; ?>";
|
||
pats[i] = /expected ‘.*’ at end of input/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_WILDCARD_CHARACTER_AT_END_OF_INPUT; ?>";
|
||
pats[i] = /invalid conversion from ‘.*’ to ‘.*’/;
|
||
exps[i++] = "<?php echo $MSG_INVALID_CONVERSION; ?>";
|
||
pats[i] = /warning.*declaration of 'main' with no type/;
|
||
exps[i++] = "<?php echo $MSG_NO_RETURN_TYPE_IN_MAIN; ?>";
|
||
pats[i] = /'.*' was not declared in this scope/;
|
||
exps[i++] = "<?php echo $MSG_NOT_DECLARED_IN_SCOPE; ?>";
|
||
pats[i] = /main’ must return ‘int’/;
|
||
exps[i++] = "<?php echo $MSG_MAIN_MUST_RETURN_INT; ?>";
|
||
pats[i] = /expected identifier or '\(' before numeric constant/
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_IDENTIFIER; ?>";
|
||
pats[i] = /printf.*was not declared in this scope/;
|
||
exps[i++] = "<?php echo $MSG_PRINTF_NOT_DECLARED_IN_SCOPE; ?>";
|
||
pats[i] = /warning: ignoring return value of/;
|
||
exps[i++] = "<?php echo $MSG_IGNOREING_RETURN_VALUE; ?>";
|
||
pats[i] = /:.*__int64’ undeclared/;
|
||
exps[i++] = "<?php echo $MSG_NOT_DECLARED_INT64; ?>";
|
||
pats[i] = /:.*expected ‘;’ before/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_SEMICOLON_BEFORE; ?>";
|
||
pats[i] = / .* undeclared \(first use in this function\)/;
|
||
exps[i++] = "<?php echo $MSG_UNDECLARED_NAME; ?>";
|
||
pats[i] = /scanf.*was not declared in this scope/;
|
||
exps[i++] = "<?php echo $MSG_SCANF_NOT_DECLARED_IN_SCOPE; ?>";
|
||
pats[i] = /memset.*was not declared in this scope/;
|
||
exps[i++] = "<?php echo $MSG_MEMSET_NOT_DECLARED_IN_SCOPE; ?>";
|
||
pats[i] = /malloc.*was not declared in this scope/;
|
||
exps[i++] = "<?php echo $MSG_MALLOC_NOT_DECLARED_IN_SCOPE; ?>";
|
||
pats[i] = /puts.*was not declared in this scope/;
|
||
exps[i++] = "<?php echo $MSG_PUTS_NOT_DECLARED_IN_SCOPE; ?>";
|
||
pats[i] = /gets.*was not declared in this scope/;
|
||
exps[i++] = "<?php echo $MSG_GETS_NOT_DECLARED_IN_SCOPE; ?>";
|
||
pats[i] = /str.*was not declared in this scope/;
|
||
exps[i++] = "<?php echo $MSG_STRING_NOT_DECLARED_IN_SCOPE; ?>";
|
||
pats[i] = /‘import’ does not name a type/;
|
||
exps[i++] = "<?php echo $MSG_NO_TYPE_IMPORT_IN_C_CPP; ?>";
|
||
pats[i] = /asm’ undeclared/;
|
||
exps[i++] = "<?php echo $MSG_ASM_UNDECLARED; ?>";
|
||
pats[i] = /redefinition of/;
|
||
exps[i++] = "<?php echo $MSG_REDEFINITION_OF; ?>";
|
||
pats[i] = /expected declaration or statement at end of input/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_DECLARATION_OR_STATEMENT; ?>";
|
||
pats[i] = /warning: unused variable/;
|
||
exps[i++] = "<?php echo $MSG_UNUSED_VARIABLE; ?>";
|
||
pats[i] = /implicit declaration of function/;
|
||
exps[i++] = "<?php echo $MSG_IMPLICIT_DECLARTION_OF_FUNCTION; ?>";
|
||
pats[i] = /too .* arguments to function/;
|
||
exps[i++] = "<?php echo $MSG_ARGUMENTS_ERROR_IN_FUNCTION; ?>";
|
||
pats[i] = /expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘namespace’/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_BEFORE_NAMESPACE; ?>";
|
||
pats[i] = /stray ‘\\[0123456789]*’ in program/;
|
||
exps[i++] = "<?php echo $MSG_STRAY_PROGRAM; ?>";
|
||
pats[i] = /division by zero/;
|
||
exps[i++] = "<?php echo $MSG_DIVISION_BY_ZERO; ?>";
|
||
pats[i] = /cannot be used as a function/;
|
||
exps[i++] = "<?php echo $MSG_CANNOT_BE_USED_AS_A_FUNCTION; ?>";
|
||
pats[i] = /format .* expects type .* but argument .* has type .*/;
|
||
exps[i++] = "<?php echo $MSG_CANNOT_FIND_TYPE; ?>";
|
||
pats[i] = /类.*是公共的,应在名为 .*java 的文件中声明/;
|
||
exps[i++] = "<?php echo $MSG_JAVA_CLASS_ERROR; ?>";
|
||
pats[i] = /expected ‘\)’ before ‘.*’ token/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_BRACKETS_TOKEN; ?>";
|
||
pats[i] = /找不到符号/;
|
||
exps[i++] = "<?php echo $MSG_NOT_FOUND_SYMBOL; ?>";
|
||
pats[i] = /需要为 class、interface 或 enum/;
|
||
exps[i++] = "<?php echo $MSG_NEED_CLASS_INTERFACE_ENUM; ?>";
|
||
pats[i] = /符号: 类 .*List/;
|
||
exps[i++] = "<?php echo $MSG_CLASS_SYMBOL_ERROR; ?>";
|
||
pats[i] = /方法声明无效;需要返回类型/;
|
||
exps[i++] = "<?php echo $MSG_INVALID_METHOD_DECLARATION; ?>";
|
||
pats[i] = /expected.*before.*&.*token/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_AMPERSAND_TOKEN; ?>";
|
||
pats[i] = /非法的表达式开始/;
|
||
exps[i++] = "<?php echo $MSG_DECLARED_FUNCTION_ORDER; ?>";
|
||
pats[i] = /需要 ';'/;
|
||
exps[i++] = "<?php echo $MSG_NEED_SEMICOLON; ?>";
|
||
pats[i] = /extra tokens at end of #include directive/;
|
||
exps[i++] = "<?php echo $MSG_EXTRA_TOKEN_AT_END_OF_INCLUDE; ?>";
|
||
pats[i] = /int.*hasNext/;
|
||
exps[i++] = "<?php echo $MSG_INT_HAS_NEXT; ?>";
|
||
pats[i] = /unterminated comment/;
|
||
exps[i++] = "<?php echo $MSG_UNTERMINATED_COMMENT; ?>";
|
||
pats[i] = /expected '=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_BRACES_TOKEN; ?>";
|
||
pats[i] = /进行语法解析时已到达文件结尾/;
|
||
exps[i++] = "<?php echo $MSG_REACHED_END_OF_FILE_1; ?>";
|
||
pats[i] = /subscripted value is neither array nor pointer/;
|
||
exps[i++] = "<?php echo $MSG_SUBSCRIPT_ERROR; ?>";
|
||
pats[i] = /expected expression before ‘%’ token/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_PERCENT_TOKEN; ?>";
|
||
pats[i] = /expected expression before ‘.*’ token/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_EXPRESSION_TOKEN; ?>";
|
||
pats[i] = /expected but/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_BUT; ?>";
|
||
pats[i] = /redefinition of ‘main’/;
|
||
exps[i++] = "<?php echo $MSG_REDEFINITION_MAIN; ?>";
|
||
pats[i] = /iostream: No such file or directory/;
|
||
exps[i++] = "<?php echo $MSG_IOSTREAM_ERROR; ?>";
|
||
pats[i] = /expected unqualified-id before ‘\[’ token/;
|
||
exps[i++] = "<?php echo $MSG_EXPECTED_UNQUALIFIED_ID_TOKEN; ?>";
|
||
pats[i] = /解析时已到达文件结尾/;
|
||
exps[i++] = "<?php echo $MSG_REACHED_END_OF_FILE_2; ?>";
|
||
pats[i] = /非法字符/;
|
||
exps[i++] = "<?php echo $MSG_INVALID_SYMBOL; ?>";
|
||
pats[i] = /应在名为.*的文件中声明/;
|
||
exps[i++] = "<?php echo $MSG_DECLARED_FILE_NAMED; ?>";
|
||
pats[i] = /variably modified/;
|
||
exps[i++] = "<?php echo $MSG_VARIABLY_MODIFIED; ?>";
|
||
|
||
function explain() {
|
||
//alert("asdf");
|
||
//var errmsg=$("#errtxt").text();
|
||
var errmsg = document.getElementById("errtxt").innerHTML;
|
||
//var errmsg='';
|
||
var expmsg = "<h5>辅助解释</h5><hr>";
|
||
for (var i = 0; i < pats.length; i++) {
|
||
var pat = pats[i];
|
||
var exp = exps[i];
|
||
var ret = pat.exec(errmsg);
|
||
if (ret) {
|
||
expmsg += ret + ":" + exp + "<br><br>";
|
||
}
|
||
}
|
||
document.getElementById("errexp").innerHTML = expmsg;
|
||
//alert(expmsg);
|
||
}
|
||
</script>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<?php require("./template/bshark/footer.php"); ?>
|
||
<?php require("./template/bshark/footer-files.php"); ?>
|
||
</body>
|
||
|
||
</html>
|