PHP Class judge_base, moodle-local_onlinejudge

Show file Open project: hit-moodle/moodle-local_onlinejudge

Protected Properties

Property Type Description
$language language id without judge id
$task object of the task

Public Methods

Method Description
__construct ( $task )
get_compiler_info ( string $language ) : compiler Return the infomation of the compiler of specified language
get_languages ( ) Return an array of programming languages supported by this judge
is_available ( ) : true Whether the judge is avaliable
judge ( ) : updated Judge the current task
parse_options ( $options, &$task ) : throw Put options into task

Protected Methods

Method Description
convert_to_utf8 ( $string ) If string is not encoded in UTF-8, convert it into utf-8 charset
create_temp_files ( ) : array Save files of current task to a temp directory
diff ( ) Compare the stdout of program and the output of testcase

Method Details

__construct() public method

public __construct ( $task )

convert_to_utf8() protected method

If string is not encoded in UTF-8, convert it into utf-8 charset
protected convert_to_utf8 ( $string )

create_temp_files() protected method

Save files of current task to a temp directory
protected create_temp_files ( ) : array
return array of the full path of saved files

diff() protected method

Compare the stdout of program and the output of testcase
protected diff ( )

get_compiler_info() static public method

Return the infomation of the compiler of specified language
static public get_compiler_info ( string $language ) : compiler
$language string ID of the language
return compiler information or null

get_languages() static public method

The array key must be the language's ID, such as c_sandbox, python_ideone. The array value must be a human-readable name of the language, such as 'C (local)', 'Python (ideone.com)'
static public get_languages ( )

is_available() static public method

Whether the judge is avaliable
static public is_available ( ) : true
return true for yes, false for no

judge() public method

Judge the current task
public judge ( ) : updated
return updated task or false

parse_options() static public method

Put options into task
static public parse_options ( $options, &$task ) : throw
return throw exceptions on error

Property Details

$language protected property

language id without judge id
protected $language

$task protected property

object of the task
protected $task