Difference between revisions of "Begin"

From Lazarus wiki
Jump to navigationJump to search
 
(15 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[keyword]] which starts a program:
+
{{Begin}}
  
  '''program''' Project1;
+
The [[Reserved word|reserved word]] <syntaxhighlight lang="pascal" inline>begin</syntaxhighlight> marks the start of the definition of the executable portion of a [[Block|block]].
  '''var'''(..);
+
In conjunction with [[End|<syntaxhighlight lang="pascal" inline>end</syntaxhighlight>]] it is also used to group [[statement]]s into a so-called “compound statement”.
  '''begin'''
 
    (..);
 
  '''end'''.
 
  
Or a block of actions:
+
{{Note|In [[Pascal]] a compound statement does not create a new scope.
 +
Only blocks do.}}
  
  '''if''' (..)'''then'''
+
In [[Extended Pascal|extended Pascal]] <syntaxhighlight lang="pascal" inline>to begin do …</syntaxhighlight> starts the definition of the [[Initialization|<syntaxhighlight lang="pascal" inline>initialization</syntaxhighlight> part of a module]].
  '''begin'''
 
    (..)
 
  '''end'''
 
  '''else'''
 
  '''begin'''
 
    (..)
 
  '''end''';
 
  
A statement starting with '''begin''' must always be closed with the '''[[end]]''' keyword.
+
While every <syntaxhighlight lang="pascal" inline>begin</syntaxhighlight> must have a corresponding <syntaxhighlight lang="pascal" inline>end</syntaxhighlight>, not all occurrences of <syntaxhighlight lang="pascal" inline>end</syntaxhighlight> have a corresponding <syntaxhighlight lang="pascal" inline>begin</syntaxhighlight>.
 +
 
 +
== syntax justification ==
 +
Lots of programming languages use a pair of single characters to indicate boundaries.
 +
Typing out the words <syntaxhighlight lang="pascal" inline>begin</syntaxhighlight> and <syntaxhighlight lang="pascal" inline>end</syntaxhighlight> is indeed more cumbersome than writing <syntaxhighlight lang="c" inline>{ }</syntaxhighlight>.
 +
However, the meaning of such characters is not as obvious as words are.
 +
 
 +
== matching ==
 +
* The source editor of the [[Lazarus IDE]] supports a “find matching begin/end” function.
 +
* [[vim#navigation|vim]] can be configured to support matching Pascal’s <syntaxhighlight lang="pascal" inline>begin</syntaxhighlight>/<syntaxhighlight lang="pascal" inline>end</syntaxhighlight>, too.
  
 
{{Keywords}}
 
{{Keywords}}
 
{{Stub}}
 

Latest revision as of 22:52, 21 August 2021

Deutsch (de) English (en) español (es) suomi (fi) français (fr) русский (ru) 中文(中国大陆)‎ (zh_CN)

The reserved word begin marks the start of the definition of the executable portion of a block. In conjunction with end it is also used to group statements into a so-called “compound statement”.

Note-icon.png

Note: In Pascal a compound statement does not create a new scope. Only blocks do.

In extended Pascal to begin do starts the definition of the initialization part of a module.

While every begin must have a corresponding end, not all occurrences of end have a corresponding begin.

syntax justification

Lots of programming languages use a pair of single characters to indicate boundaries. Typing out the words begin and end is indeed more cumbersome than writing { }. However, the meaning of such characters is not as obvious as words are.

matching

  • The source editor of the Lazarus IDE supports a “find matching begin/end” function.
  • vim can be configured to support matching Pascal’s begin/end, too.


Keywords: begindoelseendforifrepeatthenuntilwhile