Difference between revisions of "expression"

From Free Pascal wiki
Jump to navigationJump to search
(create)
 
m (insert link to Operator)
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Translate}}
+
{{expression}}
 +
 
 
An '''expression''' is a non-productive rule that resolves by calculation into a value.
 
An '''expression''' is a non-productive rule that resolves by calculation into a value.
They consist of at least one operand, and additional operands may be linked via non-unary operators.
+
They consist of at least one operand, and additional operands may be linked via non-unary [[Operator|operators]].
 
An operand may be
 
An operand may be
* a literal value of any type
+
* a literal value of any type,
* a variable or constant identifier, or
+
* a [[Variable|variable]] or [[Constant|constant]] referred to by its [[Identifier|identifier]], or
* a function call.
+
* a [[Function|function]] call.
  
 
Examples of expressions are:
 
Examples of expressions are:
* <syntaxhighlight lang="pascal" enclose="none">x + 5</syntaxhighlight>
+
* <syntaxhighlight lang="pascal" inline>+ 5</syntaxhighlight>
* <syntaxhighlight lang="pascal" enclose="none">'Z'</syntaxhighlight>
+
* <syntaxhighlight lang="pascal" inline>'Z'</syntaxhighlight>
* <syntaxhighlight lang="pascal" enclose="none">response <> 42</syntaxhighlight>
+
* <syntaxhighlight lang="pascal" inline>response</syntaxhighlight> [[Not_equal|<syntaxhighlight lang="pascal" inline><></syntaxhighlight>]] <syntaxhighlight lang="pascal" inline>42</syntaxhighlight>
  
 
Expressions, and parts thereof, can be classified by their result type.
 
Expressions, and parts thereof, can be classified by their result type.
Line 18: Line 19:
  
 
== remarks ==
 
== remarks ==
With <syntaxhighlight lang="pascal" enclose="none">{$extendedSyntax on}</syntaxhighlight> a function call as an expression can appear as a statement, too.
+
With [[Compiler directive|compiler directive]]
 +
<syntaxhighlight lang="pascal" inline>{$extendedSyntax on}</syntaxhighlight> a function call as an expression can appear as a [[statement]], too.
 +
This is useful if the function triggers side-effects, but the return value is not needed.
  
 
== see also ==
 
== see also ==
 
* [https://en.wikipedia.org/wiki/Expression_(computer_science) article „expression“] in Wikipedia, the free online encyclopedia
 
* [https://en.wikipedia.org/wiki/Expression_(computer_science) article „expression“] in Wikipedia, the free online encyclopedia
 
+
* Tutorial: [[Boolean Expressions|Boolean expressions]]
[[Category:Pascal]]
+
* Tutorial: [[How To Use TFPExpressionParser|How to use <syntaxhighlight lang="pascal" inline>tFPExpressionParser</syntaxhighlight>]] (if an expression entered by the user shall be interpreted)
[[Category:Glossary]]
 

Revision as of 05:27, 27 June 2020

English (en) suomi (fi)

An expression is a non-productive rule that resolves by calculation into a value. They consist of at least one operand, and additional operands may be linked via non-unary operators. An operand may be

Examples of expressions are:

  • x + 5
  • 'Z'
  • response <> 42

Expressions, and parts thereof, can be classified by their result type. Usually primarily arithmetic and logic expressions are distinguished. An arithmetic expression results in a numeric value. A logic expression results in a Boolean value.

remarks

With compiler directive {$extendedSyntax on} a function call as an expression can appear as a statement, too. This is useful if the function triggers side-effects, but the return value is not needed.

see also