dockerjudge.processor - Processors

Available built-in processors

Processors

Processor

Language(s) *

Required Docker image

Bash

Shell

bash

Clang

  • C (c)

  • C++ (cpp)

clangbuiltlinux/ubuntu

GCC

  • C (c)

  • C++ (cpp)

  • Go (go)

gcc

Go

Go

golang

Mono

  • Visual Basic (vb)

  • C# (csharp)

mono

Node

Node.js

node

OpenJDK

Java

openjdk

PHP

PHP

php

PyPy

Python

pypy

Python

Python

python

Ruby

Ruby

ruby

Swift

Swift

swift

*

Emboldened language by default.

class dockerjudge.processor.Bash(version=None)[source]

Bash is the GNU Project’s Bourne Again SHell

Parameters

version (str, int or float) – Tag name of Docker image bash

class dockerjudge.processor.Clang(language=None, version=None, filenames=None, options=None)[source]

Clang C Language Family Frontend for LLVM

Parameters
  • language (dockerjudge.processor.Clang.Language or str) – Programming panguage (C/c or C++/cpp), C++ by default

  • version (str, int or float) – Tag name of Docker image clangbuiltlinux/ubuntu

  • filenames (dict) – Filenames of source code and binary file, C++ default: {'src': 'a.cpp', 'bin': None}

  • options (list or str) – Compiler options

class dockerjudge.processor.Clang.Language(value)

Programming language, C (c) or C++ (cpp)

C

Clang.Language.c, Clang.Language['c'] or Clang.Language('C')

C++

Clang.Language.cpp, Clang.Language['cpp'] or Clang.Language('C++')

class dockerjudge.processor.GCC(language=None, version=None, filenames=None, options=None)[source]

GNU project C, C++ and Go compiler

Parameters
  • language (dockerjudge.processor.GCC.Language or str) – Programming panguage (C/c, C++/cpp or Go/go), C++ by default

  • version (str, int or float) – Tag name of Docker image gcc

  • filenames (dict) – Filenames of source code and binary file, C++ default: {'src': 'a.cpp', 'bin': None}

  • options (list or str) – Compiler options

class dockerjudge.processor.GCC.Language(value)

Programming language, C (c), C++ (cpp) or Go (go)

C

GCC.Language.c, GCC.Language['c'] or GCC.Language('C')

C++

GCC.Language.cpp, GCC.Language['cpp'] or GCC.Language('C++')

Go

GCC.Language.go, GCC.Language['go'] or GCC.Language('Go')

class dockerjudge.processor.Go(version=None, filenames=None, options=None)[source]

The Go Programming Language

Parameters
  • version (str, int or float) – Tag name of Docker image golang

  • filenames (dict) – Filenames of source code and binary file, default: {'src': 'main.go', 'bin': None}

class dockerjudge.processor.Mono(language=None, version=None)[source]

Mono is a software platform designed to allow developers to easily create cross platform applications part of the .NET Foundation.

Sponsored by Microsoft, Mono is an open source implementation of Microsoft’s .NET Framework based on the ECMA standards for C# and the Common Language Runtime.

Parameters
class dockerjudge.processor.Mono.Language(value)

Programming language, Visual Basic (vb) or C# (csharp)

Visual Basic

GCC.Language.vb, GCC.Language['vb'] or GCC.Language('Visual Basic')

C#

GCC.Language.csharp, GCC.Language['csharp'] or GCC.Language('C#')

class dockerjudge.processor.Node(version=None)[source]

Node.js®

class dockerjudge.processor.OpenJDK(version=None)[source]

Open Java Development Kit

class dockerjudge.processor.PHP(version=None)[source]
class dockerjudge.processor.PyPy(version=None)[source]
class dockerjudge.processor.Python(version=None)[source]

CPython

class dockerjudge.processor.Ruby(version=None)[source]
class dockerjudge.processor.Swift(version=None)[source]

Customize

class dockerjudge.processor.Processor[source]

Defines the operations of a multi-version programming language processor

Data

Type

image

str

workdir

PurePosixPath or str

source

str

before_compile

str or list

compile

str or list

after_compile

str or list

before_judge

str or list

judge

str

after_judge

str or list