Main
This package contains the implementation of the Curry preprocessor
currypp
which supports some extensions for Curry programs,
like
printf
), HTML and XML code,Details about the usage can be found in the manual. Here is a short summary how to use integrated code in Curry programs.
If the pre-processor is installed as the binary currypp
,
Curry source files containing integrated code can be translated by
running currypp
as follows:
currypp <org-filename> <input-file> <output-file> foreigncode [-o]
The parameters are:
The name of the original Curry source file.
The name of the file containing the input to be translated.
The name of the output file where the translated code should be stored.
If the optional parameter -o
is given, a copy of the
translated code is stored in the file
org-filename.CURRYPP
.
To preprocess SQL statements, you might add the option
--model:<modelname>_SQLCode.info
to use a non-standard info file for the database model
The basic syntax of integrated code in Curry program looks like
``langtag expression''
Here, langtag
is a tag indicating the kind of integrated
language, and expression
is an expression of this
language.
If enclosing accents are used in the expression itself, the actual enclosing accents need to be of a higher number than the inner graves, i.e., the following integrated code expression is also allowed:
````langtag expression''''
The number of opening and closing accents must always be identical.
Currently, the following langtag
values are
supported:
format
- printf
Syntaxprintf
- same as above (but with an implicit
putStr
call)regex
- Polymorphic regex expressionshtml
- Standard HTMLxml
- Standard XMLsql
- SQL syntaxSee the examples and source file comments for further details.