Программа содержит ключевые слова, идентификаторы, комментарии. Ключевые слова используются для выделения синтаксических конструкций и подсвечиваются жирным шрифтом в редакторе. Идентификаторы являются именами объектов программы и не могут совпадать с ключевыми словами.
Программа на языке PascalABC.NET имеет следующий вид:
programимя программы;разделuses
раздел описаний
begin
операторы
end.
Первая строка называется заголовком программы и не является обязательной. В PascalABC.NET использование заголовка программы считается устаревшим.
Раздел
uses
состоит из нескольких подряд идущих секций
uses, каждая из которых
начинается с ключевого слова
uses,
за которым следует список имен модулей и пространств имен .NET, перечисляемых через запятую.
Раздел описаний может включать следующие подразделы:
Данные подразделы следуют друг за другом в произвольном порядке.
Далее следует блок begin/end,
внутри которого находятся операторы, отделяемые один от другого символом "точка
с запятой". Среди операторов может присутствовать
оператор описания
переменной, который позволяет описывать переменные внутри блока.
Раздел
usesи раздел описаний
могут отсутствовать.
Например:
program MyProgram;
var
a,b: integer;
begin
(a,b) := ReadInteger2;
var x := a/b;
Println(x);
end.
или
uses GraphABC;
begin
var x := 100;
var y :=
100;
var r := 50;
Circle(x,y,r);
end.
Глобальные описания переменных до begin основной программы в основном используются редко и считаются устаревшим стилем. Глобальные описания переменных могут использоваться в учебных программах, в которых несколько процедур используют эти переменные:
uses GraphWPF;
var x: integer;
procedure Draw := Circle(x,300,5);
begin
x := 100;
Draw;
end.
Кроме того, имеется возможность записывать программы без внешнего begin-end. Для этого в начале программы используется префикc ##:
##
var a := ArrRandomInteger(10);
a.Println;
Такой режим называется командным и предназначен для написания коротких программ из нескольких команд. В данном режиме разрешено использовать одну секцию uses и описывать процедуры и функции:
##
uses GraphWPF;
function Draw(x,y: real) := Circle(x,y,5);
Draw(100,100);