Sign in Join
Wiki copytemporary

statement: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: statement

OldNewLine
1+Statements are parts of a [[Executable program|program]] that alter its state, e. g. by changing a [[Variable|variable’s]] value.
2+
3+## classification
4+
5+One may distinguish between simple and structured statements.
6+
7+Elementary statements are those, which can not be broken down into smaller pieces – “sub-statements”. These are
8+
9+- [[Becomes|assignments]],
10+- [[Routine|procedure calls]],
11+- [[Raise|raise]] control transfer, and
12+- [[Goto|goto jumps]].
13+
14+Complex statements are
15+
16+- compound statements (also called *sequence*) delimited by [[Begin|begin]] and [[End|end]],
17+- inline assembler blocks delimited by [[Asm|asm]] and `end`,
18+- [[Branch|branches]], and
19+- [[Loops|loops]].
20+
21+## remarks
22+
23+In contrast to statements, instructions are the building blocks in low-level [[Assembly language|assembly language]].
24+
25+[[;|Empty statements]] are not statements in a formal sense, since they merely exist to satisfy syntax requirements in a non-superfluous manner.
26+
27+## see also
28+
29+- [[Block|block]]
30+- [[expression]]
31+- [Chapter “Statements” in the *Free Pascal reference guide*](https://www.freepascal.org/docs-html/ref/refch13.html)
32+
33+---
34+*From the Free Pascal wiki, page "statement", as it stood on 2020-06-22 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history