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: | ||
− | {{ | + | {{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" | + | * <syntaxhighlight lang="pascal" inline>x + 5</syntaxhighlight> |
− | * <syntaxhighlight lang="pascal" | + | * <syntaxhighlight lang="pascal" inline>'Z'</syntaxhighlight> |
− | * <syntaxhighlight lang="pascal" | + | * <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" | + | 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]] | |
− | [[ | + | * Tutorial: [[How To Use TFPExpressionParser|How to use <syntaxhighlight lang="pascal" inline>tFPExpressionParser</syntaxhighlight>]] (if an expression entered by the user shall be interpreted) |
− | [[ |
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
- a literal value of any type,
- a variable or constant referred to by its identifier, or
- a function call.
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
- article „expression“ in Wikipedia, the free online encyclopedia
- Tutorial: Boolean expressions
- Tutorial: How to use
tFPExpressionParser
(if an expression entered by the user shall be interpreted)