Difference between revisions of "System.yaml"

From PC2wiki
Jump to: navigation, search
m (fixed section name)
m (See Also: fix cat)
Line 133: Line 133:
[[Category:Version 9.3]]
[[Category:Version 9.5]]
[[Category:Import and Export]]
[[Category:Import and Export]]

Latest revision as of 11:20, 30 June 2017

The system.yaml file contains language definitions, clar categories, etc.

Header keys and Names

These keys and values are not under any section.

system.yaml keys
Key Description
event-feed-port Port for event feed server to listen on
default-clars Sequence of pre-defined clarification answers. The first will be pre-selected
clar-categories Sequence of categories for clarifications.

File header example

# File:     system.yaml
# Purpose:  System settings

event-feed-port:   4713

  - No comment, read problem statement.

  - Unassigned
  - Judges
  - SysOps
  - Operations

Languages section

CLICS Language Def

CLICS language keys
Key Description Example
name Language Name Java
compiler Compiler name /usr/bin/javac
compiler-args Compiler arguments -encoding UTF-8 -sourcepath . -d . {files}
runner Executable runner /usr/bin/java
runner-args Execution arguments -XX:+UseSerialGC -Xss64m -Xms1920m -Xmx1920m

CLICS Example

 - name: Java
   compiler: /usr/bin/javac
   compiler-args: -encoding UTF-8 -sourcepath . -d . {files}
   runner: /usr/bin/java
   runner-args: -XX:+UseSerialGC -Xss64m -Xms1920m -Xmx1920m

 - name: C++
   compiler: /usr/bin/g++
   compiler-args: -g -O2 -std=gnu++14 -static {files}

 - name: C
   compiler: /usr/bin/gcc
   compiler-args: -g -O2 -std=gnu11 -static {files} -lm

 - name: Python 2
   compiler: /usr/bin/python2
   compiler-args: -m py_compile {files}
   runner: /usr/bin/pypy

 - name: Python 3
   compiler: /usr/bin/python3
   compiler-args: -m py_compile {files}
   runner: /usr/bin/python3

PC^2 Language Def

PC^2 language keys
Key Description Example
name Compiler Name 'Java'
active Is language active true
compilerCmd Compiler command line 'javac {:mainfile}'
exemask Executable mask '{:basename}.class'
execCmd Executtion command 'java {:basename}'
runner Execution runner 'java'
runner-args Execution arguments '{:basename}'
interpreted Is interpreted? false
use-judge-cmd Use the Judge's execution command ? true
judge-exec-cmd Judge's execution command 'java {:basename}'

PC^2 Example


 - name: 'Java'
   active: true
   compilerCmd: 'javac {:mainfile}'
   exemask: '{:basename}.class'
   execCmd: 'java {:basename}'
   runner: 'java'
   runner-args: '{:basename}'
   use-judge-cmd: true
   judge-exec-cmd: 'java {:basename}'

See Also