7. Languages supported
This chapter shows the programming languages supported by VPL with details. For each programming language, a table with the supported features as indicated in the next table is shown.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
list of extensions |
The system uses it to detect what programming language to use. |
Syntax highlighter |
Yes/No |
If not available system uses plain text. |
Text terminal |
Yes/No |
If runnable in a textual terminal. |
Gui terminal |
Yes/No |
If runnable in a graphical terminal (GUI). |
Debugging |
Yes/No |
If a debugger is supported. |
Similarity |
Yes/No |
If the search by similarity is supported. |
Automatic evaluation |
Yes/No |
If automatic input/output evaluation is supported. |
Compiler/Interpreter |
Tool used |
|
Build/launch |
How the source code is processed to compile or launch the program. |
|
Others |
Other supported features. |
Note
If you don’t find the programming language or feature that you search for, you still can see the Advanced features and learn how to add the programming language or feature you need to your VPL activities yourself.
7.1. Ada
New in version 1.0.0.
Ada is a structured, statically typed, imperative, and object-oriented programming language. Home page https://www.adaic.org
Example of code in Ada programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
ada, adb, ads |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
Yes |
gdb |
Similarity |
Yes |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
GNAT |
GNAT (GNU Ada) http://www.gnu.org/software/gnat/ |
Build/launch |
gnat make “FIRST_SOURCE_FILE”. The first file with adb extension initiates the build process. |
|
Other |
Versions |
Available versions for Ada 2005 and Ada 2012. Ada 2005 is the default compiler. |
Running a program written in Ada
Debugging with Gdb a program written in Ada.
7.2. Assembler x86
New in version 3.0.0.
Assembler for the x86 CPU architecture.
Example of code in Assembler x86
Feature |
Supported |
Details |
|---|---|---|
File extensions |
asm |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
Nasm |
NASM https://nasm.us/ |
Build/launch |
nasm -f “elf$BITS” “$FILENAME”. Compiles each asm file with 32/64 bits autodetection then links all object files to generate program. |
|
Other |
Running an Assembler x86 program
7.3. C
New in version 1.0.0.
C is a general-purpose, imperative programming language that supports structured programming.
Example of code in C programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
c, h |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
Yes |
ddd, gdb |
Similarity |
Yes |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
gcc |
GNU GCC https://gcc.gnu.org/ |
Build/launch |
gcc All_C_files -lm -lutil. Compile all c files. |
|
Other |
Versions |
Available ANSI-C, C99 and C11. Default version is the compiler default version. |
Running a program written in C
Debugging with ddd a program written in C.
7.4. C#
New in version 2.0.0.
C# logo
C# (C-sharp) is a modern general-purpose programming language.
Home page https://docs.microsoft.com/en-us/dotnet/csharp/.
Example of code in C# programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
cs |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
Yes |
|
Debugging |
Yes |
gdb |
Similarity |
Yes |
Partially |
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
csc, mcs, and mono |
|
Build/launch |
Compile all cs files. Uses compiler csc or mcs, first found. Interpreter mono. |
|
Other |
NUnit |
Autodetect NUnit in compilation. If using NUnit launch nunit-console. |
Running a program written in C#
Running a program with GUI written in C#
Debugging with gdb a program written in C#
New in version 4.2.3.
C# support using .NET.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
cs, csproj |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
dotnet |
.NET |
Build/launch |
Compiles and runs using dotnet. |
7.5. C++
New in version 1.0.0.
C++ is a modern general-purpose programming language derived from C.
Example of code in C++ programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
cc, cpp, C, c++, hxx, H |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
Yes |
ddd, gdb |
Similarity |
Yes |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
g++ |
|
Build/launch |
g++ All_C_files -lm -lutil. Compile all cpp and C files. |
|
Other |
Versions |
Versions available C++98, C++11, C++14, C++17, C++20. Default version is the compiler default version. |
Running a program written in C++
Debugging with ddd a program written in C++.
7.6. Clojure
New in version 3.1.2.
Logo of Clojure
Clojure is a functional programming language that runs on the Java platform.
Home page https://clojure.org.
Example of code in Clojure programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
clj |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
clojure |
Clojure https://clojure.org |
Build/launch |
clojure first_clojure_file. Launches first clj file submitted |
|
Other |
Running a program written in Clojure
7.7. COBOL
New in version 4.3.0.
COBOL (Common Business-Oriented Language) is a compiled English-like computer programming language designed for business use. Home page https://gnucobol.sourceforge.io/
Feature |
Supported |
Details |
|---|---|---|
File extensions |
cbl, cob |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Debugging |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
cobc |
GnuCOBOL |
7.8. D
New in version 3.1.2.
D is a general-purpose programming language.
Home page https://dlang.org/.
Example of code in D programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
d |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
gdc |
GNU GCC D https://gcc.gnu.org/ |
Build/launch |
Compile all d files. |
|
Other |
Running a program written in D
7.9. Erlang
New in version 3.3.0.
Erlang logo
Erlang is a general-purpose, concurrent, and functional programming language.
Home page https://www.erlang.org/.
Example of code in Erlang programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
erl |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
escript/erlang |
Erlang https://www.erlang.org/ |
Build/launch |
Runs first source file “.erl”. Starts the erl interpreter. |
|
Other |
Running a program written in Erlang
7.10. F#
New in version 4.2.3.
F# support using .NET.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
fs, fsproj |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
dotnet |
.NET |
Build/launch |
Compiles and runs using dotnet. |
7.11. Fortran
New in version 2.0.0.
Fortran (formerly FORTRAN) is a general-purpose, compiled imperative programming language.
Example of code in Fortran programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
f, f77, f90, for |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
gfortran |
GNU GCC Fortran https://gcc.gnu.org/fortran/ |
Build/launch |
Compile all fortran files. |
|
Other |
Running a program written in Fortran
7.12. Go
New in version 3.1.2.
Go is a statically typed, compiled programming language.
Home page https://golang.org/.
Example of code in Go programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
go |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
go |
|
Build/launch |
go build “FIRST_SOURCE_FILE”. First go file init compilation process. |
|
Other |
Running a program written in Go
7.13. Groovy
New in version 3.4.0.
Apache Groovy is an object-oriented programming language derived from Java.
Home page https://groovy-lang.org/.
Example of code in Groovy programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
groovy |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
groovyc and groovy |
Groovy https://groovy-lang.org/ |
Build/launch |
Compiles all groovy files. Launches first main function found in source files submitted. |
|
Other |
Running a program written in Groovy
7.14. Haskell
New in version 3.0.0.
Haskell logo
Haskell is a general-purpose functional programming language.
Home page https://www.haskell.org/.
Example of code in Haskell programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
hs |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
ghc or hugs |
GHC https://www.haskell.org/ghc/ hugs 98 https://www.haskell.org/hugs/ |
Build/launch |
Compiles/interprets first haskell source file submitted. |
|
Other |
Running a program written in Haskell
7.15. HTML
New in version 3.0.0.
The HyperText Markup Language (HTML) is the standard language to write documents to be displayed in a web browser.
Example of code in HTML
Feature |
Supported |
Details |
|---|---|---|
File extensions |
html or htm |
|
Syntax highlighter |
Yes |
|
Text terminal |
No |
|
Gui terminal |
Yes |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
No |
|
Compiler/Interpreter |
x-www-browser or firefox |
|
Build/launch |
Interprets first HTML file submitted. |
|
Other |
TypeScript |
Transpiles all ts files to js using tsc. |
Other |
SCSS |
Transpiles all scss files to css using sass. |
Running a browser with code written in HTML
7.16. Java
New in version 1.0.0.
Java is a modern object-oriented programming language.
Home page https://www.oracle.com/java/.
Example of code in Java programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
java, jar |
jar as library files |
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
Yes |
Autodetect the use of JFrame, JDialog, JOptionPane, or JApplet |
Debugging |
Yes |
Uses jgrasp, ddd or jdb first found |
Similarity |
Yes |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
javac and java |
|
Build/launch |
Compiles all java and jar files found. Launches the first main function found (supports Java 25). submitted files. |
|
Other |
JUnit |
If using JUnit launch org.junit.runner.JUnitCore for TESTCLASS found |
Running a program written in Java
Running a program with GUI written in Java
Debugging with JGrasp a program written in Java
7.17. JavaScript
New in version 3.1.2.
JavaScript is a high-level programming language known for running in browsers.
ECMAScript® 2021 language specification https://www.ecma-international.org/publications-and-standards/standards/ecma-262/.
Example of code in JavaScript programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
js |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
Yes |
Partially |
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
nodejs |
Node.js https://nodejs.org/en/ |
Build/launch |
Launches the first js submitted file. |
|
Other |
Running a program written in JavaScript
7.18. Julia
New in version 3.5.0.
Julia is a general purpose programming language that was designed for high performance, is dynamically typed, uses multiple dispatch as a paradigm, provides asynchronous I/O, and compile as native code for multiple platforms via LLVM.
Julia home page https://julialang.org/
Example of code in Julia programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
jl |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
julia |
|
Build/launch |
Launches the first julia (jl) submitted file. |
|
Other |
Running a program written in Julia
7.19. Kotlin
New in version 3.4.0.
Kotlin is a modern programming language.
Home page https://kotlinlang.org/
Example of code in Kotlin programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
kt |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
kotlinc |
Kotlin https://kotlinlang.org/ |
Build/launch |
Compiles all kt submitted files. |
|
Other |
Running a program written in Kotlin
7.20. LaTeX
New in version 4.3.0.
LaTeX is a software system for document preparation. Home page https://www.latex-project.org/
Feature |
Supported |
Details |
|---|---|---|
File extensions |
tex |
|
Syntax highlighter |
Yes |
|
Text terminal |
No |
|
Debugging |
No |
|
Automatic evaluation |
No |
|
Compiler/Interpreter |
7.21. Lisp
New in version 3.1.2.
Lisp (LISP) is a functional programming language created in 1958 with syntax based on parenthesis.
Example of code in Lisp programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
lisp and lsp |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
clisp |
GNU CLISP https://www.gnu.org/software/clisp/ |
Build/launch |
Launches first Lisp file in submitted files. |
|
Other |
Running a program written in Lisp
7.22. Lua
New in version 3.1.2.
Lua is a high-level programming language.
Home page https://www.lua.org/.
Example of code in Lua programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
lua |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
lua |
|
Build/launch |
Launches first Lua file in submitted files. |
|
Other |
Running a program written in Lua
7.23. Make
New in version 4.2.5.
Support for projects built with Make.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
makefile |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Debugging |
No |
|
Automatic evaluation |
Yes |
|
Build/launch |
Runs ‘make’ and executes the result. |
7.24. MiniZinc
New in version 3.4.0.
MiniZinc is a constraint modeling language.
Home page https://www.minizinc.org/.
Example of code in MiniZinc programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
mzn and dzn |
mzn for model and dzn for related data. |
Syntax highlighter |
No |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
minizinc or mzn-fzn |
MiniZinc to FlatZinc converter https://www.minizinc.org/ |
Build/launch |
Launches first mzn file in submitted files. |
|
Other |
Running a program written in MiniZinc
7.25. MIPS
New in version 3.4.0.
Assembler for MIPS processor. MIPS (Microprocessor without Interlocked Pipelined Stages).
Example of code in MIPS assembler.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
s |
|
Syntax highlighter |
Yes |
Partially |
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
Yes |
xspim first file in submitted files |
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
spim |
SPIM: A MIPS32 Simulator http://spimsimulator.sourceforge.net/ |
Build/launch |
Launches first file in submitted files. |
|
Other |
Running a program written in MIPS assembler
Debugging with xspim a program written in MIPS assembler
7.26. OCaml
New in version 4.3.0.
OCaml is a general-purpose, multi-paradigm programming language which extends the Caml dialect of ML with object-oriented features. Home page https://ocaml.org/
Feature |
Supported |
Details |
|---|---|---|
File extensions |
ml |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Debugging |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
ocaml |
OCaml |
7.27. Octave/Matlab
New in version 2.0.0.
GNU Octave is a high-level programming language for numerical computations.
Octave home page https://www.gnu.org/software/octave.
MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks.
MATLAB home page https://www.mathworks.com/products/matlab.html
Example of code in Octave programming language
Feature |
Supported |
Details |
|---|---|---|
File extensions |
m |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
Yes |
Autodetects GUI use by finding one of these functions: image, imagesc, figure, plot, contour, contourf, polar, pie, errorbar, quiver, compass, semilog, loglog, bar, hist, stairs, stem, scatter, pareto, mesh, surf, or sombrero. |
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
matlab or octave |
Uses first found (matlab or octave) MATLAB https://www.mathworks.com/ |
Build/launch |
Launches first m file in submitted files and keeps running the interpreter. |
|
Other |
Running a program written in Octave
Running a GUI program written in Octave
7.28. Pascal
New in version 2.0.0.
Pascal is an imperative and procedural programming language.
Example of code in Pascal programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
pas and p |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
Yes |
gdb |
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
fpc or gpc |
First found (fpc or gpc) Free Pascal Compiler http://www.freepascal.org/ GNU Pascal http://www.gnu-pascal.de/ |
Build/launch |
fpc compiles first pascal file in submitted files. gpc compiles all pascal files. |
|
Other |
Running a program written in Pascal programming language
Debugging with gdb a program written in Pascal programming language
7.29. Perl
New in version 2.0.0.
Perl is a general-purpose and interpreted programming language.
Example of code in Perl programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
perl, prl, pl and pm |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
Yes |
Using perl -d |
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
perl |
|
Build/launch |
perl -w FIRST_PERL_FILE Launches first Perl file in submitted files. |
|
Other |
Running a program written in Perl programming language
Debugging with “perl -d” a program written in Perl programming language
7.30. PHP
New in version 2.0.0.
PHP is a general-purpose scripting language for web development.
Home page https://www.php.net/.
Example of code in PHP programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
php |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
php |
|
Build/launch |
php -w FIRST_PHPL_FILE Launches first PHP file in submitted files. If file name is “index.php” launch in a web server. |
|
Other |
web |
Using file name “index.php” the system launches a web server. |
TypeScript |
Transpiles all ts files to js using tsc. |
|
SCSS |
Transpiles all scss files to css using sass. |
Running a console program written in PHP programming language
Running a Web program written in PHP programming language
7.31. Prolog
New in version 2.0.0.
Prolog is a logic/declarative programming language.
Example of code in Prolog programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
pro and pl |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
Yes |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
swipl |
SWI Prolog https://www.swi-prolog.org/ |
Build/launch |
swipl -q -L32M -s "$FIRST_SOURCE_FILE" Launches first Prolog file in submitted files. |
|
Other |
Running a program written in Prolog programming language
7.32. PSeInt
New in version 4.2.0.
PSeInt is a tool to assist students in their first steps in programming. It uses a simple and intuitive pseudo-language in Spanish. Home page http://pseint.sourceforge.net/
Feature |
Supported |
Details |
|---|---|---|
File extensions |
psc |
|
Syntax highlighter |
No |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
pseint |
PSeInt interpreter |
Build/launch |
Runs the psc file. |
7.33. Python
New in version 2.0.0.
Python is an interpreted high-level general-purpose programming language.
Home page https://www.python.org/.
Example of code in Python programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
py |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
Yes |
|
Debugging |
Yes |
pudb or pdb |
Similarity |
Yes |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
python3, python or python2 |
By default uses first found. |
Build/launch |
Launches first Python file in submitted files. |
|
Other |
versions |
Default, python3 or python2. |
Running a console program written in Python programming language
Running a GUI program written in Python programming language
Debugging with PuDB a program written in Python programming language
7.34. R
New in version 3.0.0.
R is a programming language for statistical computing.
Home page https://www.r-project.org/.
Example of code in R programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
r and R |
|
Syntax highlighter |
Yes |
|
Text terminal |
No |
|
Gui terminal |
Yes |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
No |
|
Compiler/Interpreter |
R |
|
Build/launch |
Launches first R file in submitted files. |
|
Other |
Running a GUI program written in R programming language
7.35. reStructuredText
New in version 4.3.0.
reStructuredText is an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax and parser system. Home page https://docutils.sourceforge.io/rst.html
Feature |
Supported |
Details |
|---|---|---|
File extensions |
rst |
|
Syntax highlighter |
Yes |
|
Text terminal |
No |
|
Debugging |
No |
|
Automatic evaluation |
No |
|
Compiler/Interpreter |
7.36. Ruby
New in version 3.0.0.
Ruby is a general-purpose interpreted programming language.
Home page https://www.ruby-lang.org/.
Example of code in Ruby programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
ruby and rb |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
Yes |
ruby -rdebug |
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
ruby |
|
Build/launch |
Launches first ruby file in submitted files. |
|
Other |
Running a program written in Ruby programming language
Debugging a program written in Ruby programming language
7.37. Rust
New in version 4.2.1.
Rust is a multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. Home page https://www.rust-lang.org/
Feature |
Supported |
Details |
|---|---|---|
File extensions |
rs |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
Yes |
GDB |
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
rustc |
The Rust compiler |
Build/launch |
Compiles and runs the rs file. |
7.38. Scala
New in version 2.0.0.
Scala is a general-purpose programming language derived from Java.
Home page http://www.scala-lang.org/.
Example of code in Scala programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
scala |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
Yes |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
scalac and scala |
|
Build/launch |
Launches first scala file in submitted files. |
|
Other |
Running a program written in Scala programming language
Running a GUI program written in Scala programming language
7.39. Scheme
New in version 1.0.0.
Scheme is a functional programming language derived from Lisp.
Example of code in Scheme programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
scm and s |
|
Syntax highlighter |
yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
Yes |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
mzscheme |
|
Build/launch |
Launches first Scheme file in submitted files. |
|
Other |
Running a program written in Scheme programming language
7.40. Shell
New in version 2.0.0.
VPL uses Bash as Shell script. Bash is the default shell for most Linux distributions.
Example of code in Shell programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
sh |
|
Syntax highlighter |
yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
Yes |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
bash |
GNU bash |
Build/launch |
Launches first Shell file in submitted files. |
|
Other |
Running a program written in Shell programming language
7.41. SQL
VPL uses SQLite as default relational database management system (RDBMS).
SQLite home page https://sqlite.org/.
Example of code in SQL programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
sql |
|
Syntax highlighter |
yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
No |
|
Compiler/Interpreter |
sqlite3 |
SQLite https://sqlite.org/ |
Build/launch |
To populate the DBs the system runs all sql files not in the submission but in “Execution files”. Then the system runs first SQL file in submitted files. |
|
Other |
Running a program written in SQL programming language
7.42. TypeScript
TypeScript is a JavaScript-compatible programming language that adds types to the language.
Home page https://www.typescriptlang.org/.
Example of code in TypeScript programming language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
ts |
|
Syntax highlighter |
yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
No |
|
Compiler/Interpreter |
tsc |
TypeScript https://www.typescriptlang.org/ |
Build/launch |
Transpiles all ts files to js (JavaScript). Then the system runs first TypeScript file (as JavaScript) in submitted files using nodejs. |
|
Other |
Running a program written in TypeScript programming language
7.43. Verilog
Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems.
Example of code in Verilog description language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
v and vh |
|
Syntax highlighter |
yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
No |
|
Compiler/Interpreter |
iverilog |
Icarus Verilog http://iverilog.icarus.com/ |
Build/launch |
Compiles all v files. |
|
Other |
Running a program written in Verilog description language
7.44. VHDL
VHDL is a hardware description language.
Example of code in VHDL description language.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
vhdl and vhd |
|
Syntax highlighter |
yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
No |
|
Compiler/Interpreter |
ghdl |
GHDL (default) or FreeHDL (fallback) |
Build/launch |
Compiles all vhdl and vhd files. |
|
Other |
7.45. Visual Basic
New in version 4.2.3.
Visual Basic support using .NET.
Feature |
Supported |
Details |
|---|---|---|
File extensions |
vb, vbproj |
|
Syntax highlighter |
Yes |
|
Text terminal |
Yes |
|
Gui terminal |
No |
|
Debugging |
No |
|
Similarity |
No |
|
Automatic evaluation |
Yes |
|
Compiler/Interpreter |
dotnet |
.NET |
Build/launch |
Compiles and runs using dotnet. |
Licences
For more details about VPL, visit the VPL home page or the VPL plugin page at Moodle.