Supported Languages
Java
Compiled and executed using JDK 17
Python
Interpreted using Python 3.11
C
Compiled with GCC
C++
Compiled with G++
JavaScript
Executed with Node.js 18
Language Specifications
Java
Configuration Details
Configuration Details
- Language Identifier:
java - File Extension:
.java(auto-detected from class name) - Docker Image:
eclipse-temurin:17 - Compilation:
javac [ClassName].java - Execution:
java [ClassName] - Requirements: Must include a public class declaration
The class name is automatically extracted from the code using regex pattern matching. The file will be named based on the public class declaration.
Python
Configuration Details
Configuration Details
- Language Identifier:
python - File Extension:
.py - File Name:
main.py - Docker Image:
python:3.11 - Execution:
python main.py
C
Configuration Details
Configuration Details
- Language Identifier:
c - File Extension:
.c - File Name:
main.c - Docker Image:
gcc:latest - Compilation:
gcc main.c -o main - Execution:
./main
C++
Configuration Details
Configuration Details
- Language Identifier:
cpp - File Extension:
.cpp - File Name:
main.cpp - Docker Image:
gcc:latest - Compilation:
g++ main.cpp -o main - Execution:
./main
JavaScript
Configuration Details
Configuration Details
- Language Identifier:
js - File Extension:
.js - File Name:
main.js - Docker Image:
node:18 - Execution:
node main.js
Resource Limits
All containers are executed with the following resource constraints:128 MB (134,217,728 bytes)
0.5 CPU cores (500,000,000 nanoseconds)
Execution Flow
For each code execution request:File Creation
Code is written to a temporary file with the appropriate extension in
/tmp/code_[UUID]/Container Setup
Docker container is created with:
- Language-specific image
- Volume binding to the temporary directory
- Resource limits (memory and CPU)
- Working directory set to
/code