Specs
primary(YukiHelper.Config.t()) :: module()
Returns primary language module
Provides a module to verify compiler, compile and, execute compiled target.
Path of compiler.
Any error.
Execution time.
Content of ouptput file.
Extension of source file.
Path of input file.
Atom value which specifies language.
Message which occurred on compiling.
A list of language module.
A list of option.
Result when execute compiled target.
Path of source file.
Status which judge the answer.
Filename of testcase
Cleans up objects (executable files etc.) depending on each language.
Returns currnet language module
Returns a list of language module
Returns primary language module
Runs compiled target and returns status
and execution time.
Verifies that the language is supported and its executable compiler exists.
Returns the message and status code when the source code was compiled.
Returns the path of the compiler if there is valid compiler.
Returns extension of the language.
Returns whether the language module does handling or not.
Returns atom value which of the language is handled by the module.
Returns the results when the compiled target was executed.
compiler() :: Path.t()
Path of compiler.
error() :: term()
Any error.
exec_time() :: non_neg_integer()
Execution time.
expect() :: String.t()
Content of ouptput file.
extension() :: String.t()
Extension of source file.
input() :: Path.t()
Path of input file.
language() :: atom()
Atom value which specifies language.
message() :: String.t()
Message which occurred on compiling.
modules() :: [module()]
A list of language module.
opts() :: keyword()
A list of option.
result() :: String.t()
Result when execute compiled target.
source() :: Path.t()
Path of source file.
status() :: :time_limit | :wrong_answer | :runtime_error | :accept
Status which judge the answer.
testcase() :: String.t()
Filename of testcase
clean_up(YukiHelper.Config.t(), opts()) :: :ok | :error
Cleans up objects (executable files etc.) depending on each language.
compile(YukiHelper.Config.t(), source(), opts()) :: {:ok, String.t()} | {:error, term()}
get(YukiHelper.Config.t(), opts()) :: module()
Returns currnet language module
languages() :: modules()
Returns a list of language module
primary(YukiHelper.Config.t()) :: module()
Returns primary language module
run( YukiHelper.Config.t(), YukiHelper.Problem.no(), testcase(), source(), opts() ) :: {status(), exec_time()} | status()
Runs compiled target and returns status
and execution time.
verify(YukiHelper.Config.t(), keyword()) :: {:ok, language(), compiler()} | {:error, term()}
Verifies that the language is supported and its executable compiler exists.
verify!(YukiHelper.Config.t(), keyword()) :: {language(), compiler()}
clean_up() :: :ok | :error
compile(YukiHelper.Config.t(), source(), opts()) :: {message(), 0} | {message(), 1}
Returns the message and status code when the source code was compiled.
compiler(YukiHelper.Config.t(), opts()) :: {:ok, compiler()} | {:error, error()}
Returns the path of the compiler if there is valid compiler.
ext() :: extension()
Returns extension of the language.
handle?(YukiHelper.Config.t(), opts()) :: boolean()
Returns whether the language module does handling or not.
me() :: language()
Returns atom value which of the language is handled by the module.
run(YukiHelper.Config.t(), YukiHelper.Problem.no(), source(), input(), opts()) :: {exec_time(), result(), status(), expect()}
Returns the results when the compiled target was executed.