Difference between revisions of "System.yaml"

From PC2wiki
Jump to: navigation, search
m (Example: add pc2 example)
m (added sections, examples)
Line 1: Line 1:
 
The system.yaml file contains language definitions, clar categories, etc.
 
The system.yaml file contains language definitions, clar categories, etc.
  
==Key and Names==
+
=Key and Names=
 
 
  
 
{|border="1" cellpadding="1"
 
{|border="1" cellpadding="1"
Line 14: Line 13:
 
|}
 
|}
  
==Languages section==
+
==File header example ==
 
 
{|border="1" cellpadding="1"
 
|+ 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==
 
 
  #
 
  #
 
  # File:    system.yaml
 
  # File:    system.yaml
Line 48: Line 30:
 
   - Operations
 
   - Operations
 
   
 
   
 +
 +
 +
=Languages section=
 +
 +
==CLICS Language Def ==
 +
 +
{|border="1" cellpadding="1"
 +
|+ 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==
 +
 
  languages:
 
  languages:
 
   - name: Java
 
   - name: Java
Line 73: Line 79:
 
     runner: /usr/bin/python3
 
     runner: /usr/bin/python3
  
== PC^2 Example
+
== PC^2 Language Def ==
 +
 
 +
=== PC^2 Example ===
 +
 
 +
{|border="1" cellpadding="1"
 +
|+ 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}'
 +
|}
 
   
 
   
 
  languages:
 
  languages:

Revision as of 17:25, 27 June 2017

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

Key and Names

system.yaml keys
Key Description
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

default-clars:
  - No comment, read problem statement.

clar-categories:
  - 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

languages:
 - 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 Example

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}'
languages:

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