Replaced many <code>abc</code>' to abc`.

Reverted a few `text with < and so on`  to <code>text with < and so on</code> due to a potential issue in wikitext parser.

git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1592 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
eiffel-org
2016-06-16 13:06:03 +00:00
parent a4b2f9f415
commit 98aa52dd1c
9 changed files with 24 additions and 24 deletions

View File

@@ -1,10 +1,10 @@
[[Property:title|Batch compilation]] [[Property:title|Batch compilation]]
[[Property:weight|2]] [[Property:weight|2]]
[[Property:uuid|18958db6-dafc-57b7-cdef-aca01bc13661]] [[Property:uuid|18958db6-dafc-57b7-cdef-aca01bc13661]]
In order to launch a compilation without user intervention you need to specify the `<code>-batch</code>' switch in the '''ec''' command line, otherwise the Eiffel compilation will be blocked. We will present below a typical example of batch processing on both Unix and Windows platforms where we want to compile a project in both frozen and finalized mode, then to launch the C compilations. At the same time we want to save the output of '''ec''' and the C compilations. In order to launch a compilation without user intervention you need to specify the `-batch` switch in the '''ec''' command line, otherwise the Eiffel compilation will be blocked. We will present below a typical example of batch processing on both Unix and Windows platforms where we want to compile a project in both frozen and finalized mode, then to launch the C compilations. At the same time we want to save the output of '''ec''' and the C compilations.
===Unix=== ===Unix===
In a file called `launch_ec' you can have the following: In a file called `launch_ec` you can have the following:
<code lang=text> <code lang=text>
#!/bin/sh #!/bin/sh
output_file="/output_path/OUTPUT" output_file="/output_path/OUTPUT"
@@ -21,12 +21,12 @@ cd EIFGENs/target_name/W_code
finish_freezing > $output_file</code> finish_freezing > $output_file</code>
It will go the directory where your project is located and compile your Eiffel code using the `<code>config.ecf</code>' file located in your project directory and compile automatically the C code. All outputs will be stored in the file `<code>/output_path/OUTPUT</code>'. It will go the directory where your project is located and compile your Eiffel code using the `config.ecf` file located in your project directory and compile automatically the C code. All outputs will be stored in the file `/output_path/OUTPUT`.
{{note|All output from '''ec''' are going to the error output, so do not forget to redirect the error output when you want to see the result. }} {{note|All output from '''ec''' are going to the error output, so do not forget to redirect the error output when you want to see the result. }}
===Windows=== ===Windows===
In a file called `launched_ec.bat' you can have the following: In a file called `launched_ec.bat` you can have the following:
<code lang=text> <code lang=text>
rem Launch Eiffel compilation rem Launch Eiffel compilation
ec -batch -config config.ecf -finalize -c_compile > c:\output_path\OUTPUT ec -batch -config config.ecf -finalize -c_compile > c:\output_path\OUTPUT
@@ -37,7 +37,7 @@ cd EIFGENs\target_name\W_code
finish_freezing > c:\output_path\OUTPUT</code> finish_freezing > c:\output_path\OUTPUT</code>
It will go the directory where your project is located and compile your Eiffel code using the `<code>config.ecf</code>' file located in your project directory and compile automatically the C code. All outputs will be stored in the file `<code>c:\output_path/OUTPUT</code>'. It will go the directory where your project is located and compile your Eiffel code using the `config.ecf` file located in your project directory and compile automatically the C code. All outputs will be stored in the file `c:\output_path/OUTPUT`.
{{seealso|<br/> {{seealso|<br/>
[[EiffelStudio: Using command line options|Using command line compiler options]] }} [[EiffelStudio: Using command line options|Using command line compiler options]] }}

View File

@@ -2,7 +2,7 @@
[[Property:weight|4]] [[Property:weight|4]]
[[Property:uuid|be1dc034-2bca-3d3a-5dfc-8597b2cc7051]] [[Property:uuid|be1dc034-2bca-3d3a-5dfc-8597b2cc7051]]
[[Image:advanced-options|Advanced dialog]] [[Image:advanced-options|Advanced dialog]]
* Address Expression: lets you pass `<code>$(s.to_c)</code>' to a feature instead of declaring `<code>a</code>' of type <code>ANY</code>, and then assigning `<code>s.to_c</code>' to `<code>a</code>' and passing `<code>$a</code>'. * Address Expression: lets you pass `$(s.to_c)` to a feature instead of declaring `a` of type <code>ANY</code>, and then assigning `s.to_c` to `a` and passing `$a`.
{{Caution|Turn this option on only if you have advanced knowledge of the garbage collector internals, because using this syntax in some situations could lead to bugs that are very hard to trace. }} {{Caution|Turn this option on only if you have advanced knowledge of the garbage collector internals, because using this syntax in some situations could lead to bugs that are very hard to trace. }}
* Automatic Backup: generate a backup of the class and configuration files during recompilation? * Automatic Backup: generate a backup of the class and configuration files during recompilation?
* Check VAPE: Enforce <code> VAPE </code> validity constraint: lets you disable type checking for <code> VAPE </code> errors in preconditions, which correspond to insufficiently exported features used in preconditions (ETL 2nd edition page 122). * Check VAPE: Enforce <code> VAPE </code> validity constraint: lets you disable type checking for <code> VAPE </code> errors in preconditions, which correspond to insufficiently exported features used in preconditions (ETL 2nd edition page 122).

View File

@@ -1,7 +1,7 @@
[[Property:title|Batch compilation]] [[Property:title|Batch compilation]]
[[Property:weight|2]] [[Property:weight|2]]
[[Property:uuid|18958db6-dafc-57b7-cdef-aca01bc13661]] [[Property:uuid|18958db6-dafc-57b7-cdef-aca01bc13661]]
In order to launch a compilation without user intervention you need to specify the `<code>-batch</code>' switch in the '''ec''' command line, otherwise the Eiffel compilation will be blocked. We will present below a typical example of batch processing on both Unix and Windows platforms where we want to compile a project in both frozen and finalized mode, then to launch the C compilations. At the same time we want to save the output of '''ec''' and the C compilations. In order to launch a compilation without user intervention you need to specify the `-batch` switch in the '''ec''' command line, otherwise the Eiffel compilation will be blocked. We will present below a typical example of batch processing on both Unix and Windows platforms where we want to compile a project in both frozen and finalized mode, then to launch the C compilations. At the same time we want to save the output of '''ec''' and the C compilations.
===Unix=== ===Unix===
In a file called `launch_ec' you can have the following: In a file called `launch_ec' you can have the following:
@@ -21,7 +21,7 @@ cd EIFGENs/target_name/W_code
finish_freezing > $output_file</code> finish_freezing > $output_file</code>
It will go the directory where your project is located and compile your Eiffel code using the `<code>config.ecf</code>' file located in your project directory and compile automatically the C code. All outputs will be stored in the file `<code>/output_path/OUTPUT</code>'. It will go the directory where your project is located and compile your Eiffel code using the `config.ecf` file located in your project directory and compile automatically the C code. All outputs will be stored in the file `/output_path/OUTPUT`.
{{note|All output from '''ec''' are going to the error output, so do not forget to redirect the error output when you want to see the result. }} {{note|All output from '''ec''' are going to the error output, so do not forget to redirect the error output when you want to see the result. }}
@@ -37,7 +37,7 @@ cd EIFGENs\target_name\W_code
finish_freezing > c:\output_path\OUTPUT</code> finish_freezing > c:\output_path\OUTPUT</code>
It will go the directory where your project is located and compile your Eiffel code using the `<code>config.ecf</code>' file located in your project directory and compile automatically the C code. All outputs will be stored in the file `<code>c:\output_path/OUTPUT</code>'. It will go the directory where your project is located and compile your Eiffel code using the `config.ecf` file located in your project directory and compile automatically the C code. All outputs will be stored in the file `c:\output_path/OUTPUT`.
{{seealso|<br/> {{seealso|<br/>
[[EiffelStudio: Using command line options|Using command line compiler options]] }} [[EiffelStudio: Using command line options|Using command line compiler options]] }}

View File

@@ -2,7 +2,7 @@
[[Property:weight|4]] [[Property:weight|4]]
[[Property:uuid|be1dc034-2bca-3d3a-5dfc-8597b2cc7051]] [[Property:uuid|be1dc034-2bca-3d3a-5dfc-8597b2cc7051]]
[[Image:advanced-options|Advanced dialog]] [[Image:advanced-options|Advanced dialog]]
* Address Expression: lets you pass `<code>$(s.to_c)</code>' to a feature instead of declaring `<code>a</code>' of type <code>ANY</code>, and then assigning `<code>s.to_c</code>' to `<code>a</code>' and passing `<code>$a</code>'. * Address Expression: lets you pass `$(s.to_c)` to a feature instead of declaring `a` of type <code>ANY</code>, and then assigning `s.to_c` to `a` and passing `$a`.
{{Caution|Turn this option on only if you have advanced knowledge of the garbage collector internals, because using this syntax in some situations could lead to bugs that are very hard to trace. }} {{Caution|Turn this option on only if you have advanced knowledge of the garbage collector internals, because using this syntax in some situations could lead to bugs that are very hard to trace. }}
* Automatic Backup: generate a backup of the class and configuration files during recompilation? * Automatic Backup: generate a backup of the class and configuration files during recompilation?
* Check VAPE: Enforce <code> VAPE </code> validity constraint: lets you disable type checking for <code> VAPE </code> errors in preconditions, which correspond to insufficiently exported features used in preconditions (ETL 2nd edition page 122). * Check VAPE: Enforce <code> VAPE </code> validity constraint: lets you disable type checking for <code> VAPE </code> errors in preconditions, which correspond to insufficiently exported features used in preconditions (ETL 2nd edition page 122).

View File

@@ -1,7 +1,7 @@
[[Property:title|Batch compilation]] [[Property:title|Batch compilation]]
[[Property:weight|2]] [[Property:weight|2]]
[[Property:uuid|18958db6-dafc-57b7-cdef-aca01bc13661]] [[Property:uuid|18958db6-dafc-57b7-cdef-aca01bc13661]]
In order to launch a compilation without user intervention you need to specify the `<code>-batch</code>' switch in the '''ec''' command line, otherwise the Eiffel compilation will be blocked. We will present below a typical example of batch processing on both Unix and Windows platforms where we want to compile a project in both frozen and finalized mode, then to launch the C compilations. At the same time we want to save the output of '''ec''' and the C compilations. In order to launch a compilation without user intervention you need to specify the `-batch` switch in the '''ec''' command line, otherwise the Eiffel compilation will be blocked. We will present below a typical example of batch processing on both Unix and Windows platforms where we want to compile a project in both frozen and finalized mode, then to launch the C compilations. At the same time we want to save the output of '''ec''' and the C compilations.
===Unix=== ===Unix===
In a file called `launch_ec' you can have the following: In a file called `launch_ec' you can have the following:
@@ -21,7 +21,7 @@ cd EIFGENs/target_name/W_code
finish_freezing > $output_file</code> finish_freezing > $output_file</code>
It will go the directory where your project is located and compile your Eiffel code using the `<code>config.ecf</code>' file located in your project directory and compile automatically the C code. All outputs will be stored in the file `<code>/output_path/OUTPUT</code>'. It will go the directory where your project is located and compile your Eiffel code using the `config.ecf` file located in your project directory and compile automatically the C code. All outputs will be stored in the file `/output_path/OUTPUT`.
{{note|All output from '''ec''' are going to the error output, so do not forget to redirect the error output when you want to see the result. }} {{note|All output from '''ec''' are going to the error output, so do not forget to redirect the error output when you want to see the result. }}
@@ -37,7 +37,7 @@ cd EIFGENs\target_name\W_code
finish_freezing > c:\output_path\OUTPUT</code> finish_freezing > c:\output_path\OUTPUT</code>
It will go the directory where your project is located and compile your Eiffel code using the `<code>config.ecf</code>' file located in your project directory and compile automatically the C code. All outputs will be stored in the file `<code>c:\output_path/OUTPUT</code>'. It will go the directory where your project is located and compile your Eiffel code using the `config.ecf` file located in your project directory and compile automatically the C code. All outputs will be stored in the file `c:\output_path/OUTPUT`.
{{seealso|<br/> {{seealso|<br/>
[[EiffelStudio: Using command line options|Using command line compiler options]] }} [[EiffelStudio: Using command line options|Using command line compiler options]] }}

View File

@@ -2,7 +2,7 @@
[[Property:weight|4]] [[Property:weight|4]]
[[Property:uuid|be1dc034-2bca-3d3a-5dfc-8597b2cc7051]] [[Property:uuid|be1dc034-2bca-3d3a-5dfc-8597b2cc7051]]
[[Image:advanced-options|Advanced dialog]] [[Image:advanced-options|Advanced dialog]]
* Address Expression: lets you pass `<code>$(s.to_c)</code>' to a feature instead of declaring `<code>a</code>' of type <code>ANY</code>, and then assigning `<code>s.to_c</code>' to `<code>a</code>' and passing `<code>$a</code>'. * Address Expression: lets you pass `$(s.to_c)` to a feature instead of declaring `a` of type <code>ANY</code>, and then assigning `s.to_c` to `a` and passing `$a`.
{{Caution|Turn this option on only if you have advanced knowledge of the garbage collector internals, because using this syntax in some situations could lead to bugs that are very hard to trace. }} {{Caution|Turn this option on only if you have advanced knowledge of the garbage collector internals, because using this syntax in some situations could lead to bugs that are very hard to trace. }}
* Automatic Backup: generate a backup of the class and configuration files during recompilation? * Automatic Backup: generate a backup of the class and configuration files during recompilation?
* Check VAPE: Enforce <code> VAPE </code> validity constraint: lets you disable type checking for <code> VAPE </code> errors in preconditions, which correspond to insufficiently exported features used in preconditions (ETL 2nd edition page 122). * Check VAPE: Enforce <code> VAPE </code> validity constraint: lets you disable type checking for <code> VAPE </code> errors in preconditions, which correspond to insufficiently exported features used in preconditions (ETL 2nd edition page 122).

View File

@@ -353,9 +353,9 @@ Some deferred classes describe a structural property, useful to the description
`NUMERIC` describes objects on which arithmetic operations `+, -, *, /` are available, with the properties of a ring (associativity, distributivity, zero elements etc.). Kernel Library classes such as `INTEGER` and `REAL` -- but not, for example, `STRING` -- are descendants of `NUMERIC`. An application that defines a class `MATRIX` may also make it a descendant of `NUMERIC`. `NUMERIC` describes objects on which arithmetic operations `+, -, *, /` are available, with the properties of a ring (associativity, distributivity, zero elements etc.). Kernel Library classes such as `INTEGER` and `REAL` -- but not, for example, `STRING` -- are descendants of `NUMERIC`. An application that defines a class `MATRIX` may also make it a descendant of `NUMERIC`.
`COMPARABLE` describes objects on which comparison operations `<, <=, >, >=` are available, with the properties of a total preorder (transitivity, irreflexivity). Kernel Library classes such as `CHARACTER`, `STRING` and `INTEGER` -- but not our `MATRIX` example -- are descendants of `COMPARABLE`. `COMPARABLE` describes objects on which comparison operations <code><, <=, >, >=</code> are available, with the properties of a total preorder (transitivity, irreflexivity). Kernel Library classes such as `CHARACTER`, `STRING` and `INTEGER` -- but not our `MATRIX` example -- are descendants of `COMPARABLE`.
For such classes it is again essential to permit effective features in a deferred class, and to include assertions. For example class `COMPARABLE` declares `infix "<"` as deferred, and expresses `>, >=` and `<=` effectively in terms of it. For such classes it is again essential to permit effective features in a deferred class, and to include assertions. For example class `COMPARABLE` declares <code>infix "<"</code> as deferred, and expresses `>, >=` and <code><=</code> effectively in terms of it.
{{note|The type `like Current` will be explained in [[ET: Inheritance#Covariance, anchored declarations, and "catcalls"|"Covariance, anchored declarations, and "catcalls""]] ; you may understand it, in the following class, as equivalent to `COMPARABLE`. }} {{note|The type `like Current` will be explained in [[ET: Inheritance#Covariance, anchored declarations, and "catcalls"|"Covariance, anchored declarations, and "catcalls""]] ; you may understand it, in the following class, as equivalent to `COMPARABLE`. }}
@@ -703,7 +703,7 @@ Eiffel's inheritance mechanism has an important application to extending the fle
<code> <code>
if item (i) < item (j) then ... if item (i) < item (j) then ...
</code> </code>
where `item (i)` and `item (j)` are of type `G`. But this requires the availability of a feature `infix "<"` in all types that may serve as actual generic parameters corresponding to `G`. Using the type `SORTABLE_ARRAY [INTEGER]` should be permitted, because `INTEGER` has such a feature; but not `SORTABLE_ARRAY [COMPLEX]` if there is no total order relation on `COMPLEX`. where `item (i)` and `item (j)` are of type `G`. But this requires the availability of a feature <code>infix "<"</code> in all types that may serve as actual generic parameters corresponding to `G`. Using the type `SORTABLE_ARRAY [INTEGER]` should be permitted, because `INTEGER` has such a feature; but not `SORTABLE_ARRAY [COMPLEX]` if there is no total order relation on `COMPLEX`.
To cover such cases, declare the class as To cover such cases, declare the class as
<code> <code>
@@ -711,7 +711,7 @@ class SORTABLE_ARRAY [G -> COMPARABLE]
</code> </code>
making it '''constrained generic'''. The symbol `->` recalls the arrow of inheritance diagrams; what follows it is a type, known as the generic constraint. Such a declaration means that: making it '''constrained generic'''. The symbol `->` recalls the arrow of inheritance diagrams; what follows it is a type, known as the generic constraint. Such a declaration means that:
Within the class, you may apply the features of the generic constraint -- here the features of `COMPARABLE`: `infix "<"`, `infix ">"` etc. -- to expressions of type `G`. Within the class, you may apply the features of the generic constraint -- here the features of `COMPARABLE`: <code>infix "<"</code>, `infix ">"` etc. -- to expressions of type `G`.
A generic derivation is only valid if the chosen actual generic parameter conforms to the constraint. Here you can use `SORTABLE_ARRAY [INTEGER]` since `INTEGER` inherits from `COMPARABLE`, but not `SORTABLE_ARRAY [COMPLEX]` if `COMPLEX` is not a descendant of `COMPARABLE`. A generic derivation is only valid if the chosen actual generic parameter conforms to the constraint. Here you can use `SORTABLE_ARRAY [INTEGER]` since `INTEGER` inherits from `COMPARABLE`, but not `SORTABLE_ARRAY [COMPLEX]` if `COMPLEX` is not a descendant of `COMPARABLE`.
@@ -889,7 +889,7 @@ It is possible to use `Current` as anchor; the declaration `like Current` denote
is_less alias "<" (other: like Current): BOOLEAN ... is_less alias "<" (other: like Current): BOOLEAN ...
</code> </code>
since we only want to compare two comparable elements of compatible types -- but not, for example, integer and strings, even if both types conform to `COMPARABLE`. (A "balancing rule" makes it possible, however, to mix the various arithmetic types, consistently with mathematical traditions, in arithmetic expressions such as `3 + 45.82` or boolean expressions such as `3 < 45.82`.) since we only want to compare two comparable elements of compatible types -- but not, for example, integer and strings, even if both types conform to `COMPARABLE`. (A "balancing rule" makes it possible, however, to mix the various arithmetic types, consistently with mathematical traditions, in arithmetic expressions such as `3 + 45.82` or boolean expressions such as <code>3 < 45.82</code>.)
Similarly, class `ANY` declares procedure `copy` as Similarly, class `ANY` declares procedure `copy` as
<code> <code>
@@ -906,7 +906,7 @@ The anchored types shown above specify anchors which are either:
* The name of a query of the class in which the anchored declaration appears * The name of a query of the class in which the anchored declaration appears
** as in the case of: `set_owner (h: like owner)` or ** as in the case of: `set_owner (h: like owner)` or
* `Current` * `Current`
** as in the case of: `is_less alias "<" (other: like Current): BOOLEAN`. ** as in the case of: <code>is_less alias "<" (other: like Current): BOOLEAN</code>.
Declarations can also use '''qualified''' anchored types. Consider this possible feature of `ACCOUNT`: Declarations can also use '''qualified''' anchored types. Consider this possible feature of `ACCOUNT`:

View File

@@ -1,7 +1,7 @@
[[Property:title|Batch compilation]] [[Property:title|Batch compilation]]
[[Property:weight|2]] [[Property:weight|2]]
[[Property:uuid|18958db6-dafc-57b7-cdef-aca01bc13661]] [[Property:uuid|18958db6-dafc-57b7-cdef-aca01bc13661]]
In order to launch a compilation without user intervention you need to specify the `<code>-batch</code>' switch in the '''ec''' command line, otherwise the Eiffel compilation will be blocked. We will present below a typical example of batch processing on both Unix and Windows platforms where we want to compile a project in both frozen and finalized mode, then to launch the C compilations. At the same time we want to save the output of '''ec''' and the C compilations. In order to launch a compilation without user intervention you need to specify the `-batch` switch in the '''ec''' command line, otherwise the Eiffel compilation will be blocked. We will present below a typical example of batch processing on both Unix and Windows platforms where we want to compile a project in both frozen and finalized mode, then to launch the C compilations. At the same time we want to save the output of '''ec''' and the C compilations.
===Unix=== ===Unix===
In a file called `launch_ec' you can have the following: In a file called `launch_ec' you can have the following:
@@ -21,7 +21,7 @@ cd EIFGENs/target_name/W_code
finish_freezing > $output_file</code> finish_freezing > $output_file</code>
It will go the directory where your project is located and compile your Eiffel code using the `<code>config.ecf</code>' file located in your project directory and compile automatically the C code. All outputs will be stored in the file `<code>/output_path/OUTPUT</code>'. It will go the directory where your project is located and compile your Eiffel code using the `config.ecf` file located in your project directory and compile automatically the C code. All outputs will be stored in the file `/output_path/OUTPUT`.
{{note|All output from '''ec''' are going to the error output, so do not forget to redirect the error output when you want to see the result. }} {{note|All output from '''ec''' are going to the error output, so do not forget to redirect the error output when you want to see the result. }}
@@ -37,7 +37,7 @@ cd EIFGENs\target_name\W_code
finish_freezing > c:\output_path\OUTPUT</code> finish_freezing > c:\output_path\OUTPUT</code>
It will go the directory where your project is located and compile your Eiffel code using the `<code>config.ecf</code>' file located in your project directory and compile automatically the C code. All outputs will be stored in the file `<code>c:\output_path/OUTPUT</code>'. It will go the directory where your project is located and compile your Eiffel code using the `config.ecf` file located in your project directory and compile automatically the C code. All outputs will be stored in the file `c:\output_path/OUTPUT`.
{{seealso|<br/> {{seealso|<br/>
[[EiffelStudio: Using command line options|Using command line compiler options]] }} [[EiffelStudio: Using command line options|Using command line compiler options]] }}

View File

@@ -2,7 +2,7 @@
[[Property:weight|4]] [[Property:weight|4]]
[[Property:uuid|be1dc034-2bca-3d3a-5dfc-8597b2cc7051]] [[Property:uuid|be1dc034-2bca-3d3a-5dfc-8597b2cc7051]]
[[Image:advanced-options|Advanced dialog]] [[Image:advanced-options|Advanced dialog]]
* Address Expression: lets you pass `<code>$(s.to_c)</code>' to a feature instead of declaring `<code>a</code>' of type <code>ANY</code>, and then assigning `<code>s.to_c</code>' to `<code>a</code>' and passing `<code>$a</code>'. * Address Expression: lets you pass `$(s.to_c)` to a feature instead of declaring `a` of type <code>ANY</code>, and then assigning `s.to_c` to `a` and passing `$a`.
{{Caution|Turn this option on only if you have advanced knowledge of the garbage collector internals, because using this syntax in some situations could lead to bugs that are very hard to trace. }} {{Caution|Turn this option on only if you have advanced knowledge of the garbage collector internals, because using this syntax in some situations could lead to bugs that are very hard to trace. }}
* Automatic Backup: generate a backup of the class and configuration files during recompilation? * Automatic Backup: generate a backup of the class and configuration files during recompilation?
* Check VAPE: Enforce <code> VAPE </code> validity constraint: lets you disable type checking for <code> VAPE </code> errors in preconditions, which correspond to insufficiently exported features used in preconditions (ETL 2nd edition page 122). * Check VAPE: Enforce <code> VAPE </code> validity constraint: lets you disable type checking for <code> VAPE </code> errors in preconditions, which correspond to insufficiently exported features used in preconditions (ETL 2nd edition page 122).