Welcome to XCODX Online Compiler
Quick Start:
Ctrl+Enter Run code
Ctrl+S Save / Download
Ctrl+L Clear output
Select a language and start coding.
Welcome to XCODX Online Compiler
Quick Start:
Ctrl+Enter Run code
Ctrl+S Save / Download
Ctrl+L Clear output
Select a language and start coding.
Pascal was designed by Niklaus Wirth around 1970 to teach structured, disciplined programming, and its clear syntax - begin and end blocks, explicit typing, and readable control flow - made it a standard teaching language for decades. It grew well beyond the classroom: Object Pascal added classes and became the language of Borland's Delphi, and the open-source Free Pascal compiler with the Lazarus IDE is still used in 2026 to build cross-platform desktop applications. Wirth's design favored programs that are easy to read and reason about, with strong type checking that catches mistakes at compile time. On XCODX your code is compiled with Free Pascal (fpc, version shown in the badge) and run in a cloud sandbox, so you can test standard and Object Pascal without installing Lazarus. The compiler defaults to an Object Pascal dialect, so both classic procedural programs and unit-and-class code work.
program SumDemo;
var
i, total: Integer;
begin
total := 0;
for i := 1 to 10 do
total := total + i;
writeln('Hello from Pascal!');
writeln('Sum of 1 to 10 = ', total);
end.
Pascal's strengths are readable structured syntax, strong static typing, and fast single-pass compilation, which is why it endures as a first language for learning how programs are put together. Choose it for teaching and learning algorithms, or with Free Pascal and Lazarus for cross-platform native desktop tools where a small self-contained executable is handy. It is an unusual pick for web back ends, data science, or large team projects, where the surrounding ecosystem and hiring pool are smaller than mainstream languages. In this sandbox it works well for practicing procedural code, records, and Object Pascal classes in a single file.
Use read or readln with a variable, for example readln(name) for a string or readln(n) for an integer; readln also consumes the rest of the line and moves to the next one, while read leaves the cursor in place. On XCODX the program pauses at readln so you can type into the live terminal, or you can paste values into the Stdin Box, and Ctrl+D ends the stream. The variable's type must match the input, so reading an integer expects digits.
No. The sandbox compiles one source file with Free Pascal and has no package manager or network, so external packages and the Lazarus LCL visual components are unavailable. You do get the Free Pascal runtime library, so standard units such as System, SysUtils, Math, and StrUtils can be pulled in with a uses clause. GUI and third-party units need a full Free Pascal or Lazarus install locally.
Turbo Pascal was Borland's fast compiler from the 1980s and 90s; Delphi is Borland's later commercial Object Pascal product with a visual designer; and Free Pascal (fpc) is a modern open-source compiler largely compatible with both that runs on many platforms. XCODX uses Free Pascal, which supports classic Pascal plus Object Pascal classes. It can also compile in Turbo Pascal or Delphi compatibility modes, though the default here is its own Object Pascal dialect.
Yes, in two main places: education, where its clarity makes it a teaching language, and native application development with Free Pascal and Lazarus, whose ecosystem is actively maintained and saw new releases in 2026. It is not a mainstream choice for new web or mobile work, but it has a steady community and real desktop software still ships in it. Trying it here is a quick way to see why its structured style influenced so many later languages.
In Pascal the semicolon separates statements rather than terminating each one, so a semicolon right before else ends the if statement early and the compiler flags the stray else. Remove the semicolon before else, and use begin and end to group statements when a branch has more than one line. This statement-separator rule is one of the most common surprises for newcomers.
A console program starts with an optional program name, an optional var section for declarations, then the main block between begin and a final end followed by a period. Free Pascal is lenient about the program header, but the begin and end block and the closing period are required. Any variables must be declared in a var section before they are used.
main.paspascalReadLn()program Hello;
begin
writeln('Hello from Pascal!');
writeln('Welcome to XCODX Online Compiler!');
end.