docs: add syntax hightlighting to code examples
This commit is contained in:
parent
796d8f8e5f
commit
e71b928ae5
1 changed files with 12 additions and 12 deletions
|
|
@ -6,7 +6,7 @@ Passing strings of different maximum sizes as parameters is possible and safe be
|
||||||
When allocating a pointer to a string with **new**, you can specify a maximum size that is being allocated, so you can allocate less memory than the string type specifies. The string header fields will reflect the allocated size.
|
When allocating a pointer to a string with **new**, you can specify a maximum size that is being allocated, so you can allocate less memory than the string type specifies. The string header fields will reflect the allocated size.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
```
|
```pascal
|
||||||
type strPtrType: ^string[1024];
|
type strPtrType: ^string[1024];
|
||||||
|
|
||||||
var p: ^strPtrType;
|
var p: ^strPtrType;
|
||||||
|
|
@ -23,7 +23,7 @@ When indexing a string, the result is a **char** type with bits 31 to 8 set to z
|
||||||
The for-in-loop is supported, which allows iterating over a string or a linear array of scalar variables. It is more efficient than using a for loop for indexing a string or an array, because no bounds checks are needed on each iteration.
|
The for-in-loop is supported, which allows iterating over a string or a linear array of scalar variables. It is more efficient than using a for loop for indexing a string or an array, because no bounds checks are needed on each iteration.
|
||||||
|
|
||||||
String Example:
|
String Example:
|
||||||
```
|
```pascal
|
||||||
var s:string;
|
var s:string;
|
||||||
c:char;
|
c:char;
|
||||||
|
|
||||||
|
|
@ -38,7 +38,7 @@ var s:string;
|
||||||
```
|
```
|
||||||
|
|
||||||
Array Example:
|
Array Example:
|
||||||
```
|
```pascal
|
||||||
var a:array [1..3] of integer;
|
var a:array [1..3] of integer;
|
||||||
i:integer;
|
i:integer;
|
||||||
|
|
||||||
|
|
@ -57,7 +57,7 @@ var a:array [1..3] of integer;
|
||||||
The maximum number of elements in a set is 32. This makes a SET OF CHAR impossible.
|
The maximum number of elements in a set is 32. This makes a SET OF CHAR impossible.
|
||||||
|
|
||||||
When using a SET OF CHAR in other Pascal dialects, it is most often used with a set literal like this:
|
When using a SET OF CHAR in other Pascal dialects, it is most often used with a set literal like this:
|
||||||
```
|
```pascal
|
||||||
var c:char;
|
var c:char;
|
||||||
|
|
||||||
read(c);
|
read(c);
|
||||||
|
|
@ -73,7 +73,7 @@ Note that the array _in_ operator will be more inefficient for larger ranges (i.
|
||||||
A set literal can only appear on the right side of an assignment to a set variable, or when passing an argument of a set type to a procedure/function.
|
A set literal can only appear on the right side of an assignment to a set variable, or when passing an argument of a set type to a procedure/function.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
```
|
```pascal
|
||||||
program settest;
|
program settest;
|
||||||
type weekday = (Mon,Tue,Wed,Thu,Fri,Sat,Sun);
|
type weekday = (Mon,Tue,Wed,Thu,Fri,Sat,Sun);
|
||||||
days = set of weekday;
|
days = set of weekday;
|
||||||
|
|
@ -140,7 +140,7 @@ There are five modes for opening files which (hopefully) cover all common use ca
|
||||||
- _ModeAppend_: file is opened for writing, data is always written to the end of the file
|
- _ModeAppend_: file is opened for writing, data is always written to the end of the file
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
```
|
```pascal
|
||||||
var f:file;
|
var f:file;
|
||||||
c:char;
|
c:char;
|
||||||
a,b:integer;
|
a,b:integer;
|
||||||
|
|
@ -160,7 +160,7 @@ That means you can either write programs without checking for I/O errors, while
|
||||||
The function _ErrorStr_ from the standard library takes an error code as an argument and returns the corresponding textual description as a string.
|
The function _ErrorStr_ from the standard library takes an error code as an argument and returns the corresponding textual description as a string.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
```
|
```pascal
|
||||||
procedure tryToReadFile;
|
procedure tryToReadFile;
|
||||||
var f:file;
|
var f:file;
|
||||||
begin
|
begin
|
||||||
|
|
@ -204,7 +204,7 @@ This means, for example:
|
||||||
- for _string_, _read_ returns after a newline (CR) has been entered, which will not be part of the string
|
- for _string_, _read_ returns after a newline (CR) has been entered, which will not be part of the string
|
||||||
|
|
||||||
So to wait for a single keystroke, you can use:
|
So to wait for a single keystroke, you can use:
|
||||||
```
|
```pascal
|
||||||
var c:char;
|
var c:char;
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
@ -232,7 +232,7 @@ The _Include_ directive reads another source file at compile time. Includes can
|
||||||
a string must be specified that indicates the file name.
|
a string must be specified that indicates the file name.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
```
|
```pascal
|
||||||
program includetest;
|
program includetest;
|
||||||
|
|
||||||
{$I 'morestuff.pas'}
|
{$I 'morestuff.pas'}
|
||||||
|
|
@ -253,7 +253,7 @@ in kilobytes. The default value is 256.
|
||||||
The directive must appear before the _program_ keyword to have an effect.
|
The directive must appear before the _program_ keyword to have an effect.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
```
|
```pascal
|
||||||
{$H 800}
|
{$H 800}
|
||||||
program bigHeap;
|
program bigHeap;
|
||||||
|
|
||||||
|
|
@ -267,7 +267,7 @@ in kilobytes. The default value is 16.
|
||||||
The directive must appear before the _program_ keyword to have an effect.
|
The directive must appear before the _program_ keyword to have an effect.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
```
|
```pascal
|
||||||
{$S 128}
|
{$S 128}
|
||||||
program deepRecursion;
|
program deepRecursion;
|
||||||
|
|
||||||
|
|
@ -281,7 +281,7 @@ This directive is a hack to make the Tridora compiler ignore directives meant fo
|
||||||
This directive uses the character _!_. After this directive, the rest of the line is not parsed. The closing comment is still required.
|
This directive uses the character _!_. After this directive, the rest of the line is not parsed. The closing comment is still required.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
```
|
```pascal
|
||||||
{$!}uses math,crt;
|
{$!}uses math,crt;
|
||||||
```
|
```
|
||||||
In this example, the line is ignored by the Tridora compiler but FPC will parse it.
|
In this example, the line is ignored by the Tridora compiler but FPC will parse it.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue