Files
harbour-core/doc/en/macro.txt
vszakats 9687850865 2013-03-16 02:10 UTC+0100 Viktor Szakats (harbour syenar.net)
* (all files)
    * stripped svn header
    * minor cleanups
    ; use following command to find out the history of files:
       git log
       git log --follow
       git blame
       git annotate
2013-03-16 02:11:42 +01:00

83 lines
2.2 KiB
Plaintext

/* $DOC$
$TEMPLATE$
Document
$NAME$
Macro compiler
$CATEGORY$
Document
$SUBCATEGORY$
Compiler
$ONELINER$
Macro compiler
$DESCRIPTION$
<b>Invoking the macro compiler: </b> </par>
============================== </par>
&variable </par>
or </par>
&( expression ) </par>
or </par>
&variable.text </par>
$END$
*/
/* $DOC$
$TEMPLATE$
Function
$NAME$
hb_SetMacro()
$CATEGORY$
API
$SUBCATEGORY$
Macro
$ONELINER$
Enable/disable the macro compiler runtime features.
$SYNTAX$
hb_SetMacro( <nOption>, [<lOnOff>] ) --> <lOldSetting>
$ARGUMENTS$
<nOption> One of the HB_SM_* constants defined in set.ch.
<lOnOff> .T. to enable or .F. to disable a feature
$RETURNS$
hb_SetMacro() return the old state of requested feature.
$DESCRIPTION$
This function enables or disables some features of the macro
compiler. The Harbour is extending the macro features compared
to an original set available in CA-Cl*pper. Enabling/disabling
some of them allows to keep strict CA-Cl*pper compatibility.
Available features are:</par>
<b>HB_SM_HARBOUR</b> - enables harbour extensions:
operators: ++, --, +=, -=, *=, /=, ^=
objects: assigments to an instance variable
<b>HB_SM_XBASE</b> - enables other Xbase++ dialects extensions:</par>
expanding of expresions lists
<b>HB_SM_SHORTCUTS</b> - enables optimized evaluation of
logical operators (.and., .or.)
<b>HB_SM_PREPROC</b> - enables preprocessing of commands
This is meaningfull if Harbour is compiled with
HB_MACRO_STATEMENTS flag
$EXAMPLES$
INIT PROCEDURE IWANTCLIPPER()
hb_SetMacro( HB_SM_HARBOUR, .F. )
hb_SetMacro( HB_SM_XBASE, .F. )
RETURN
$STATUS$
R
$COMPLIANCE$
H
$PLATFORMS$
All
$FILES$
Header file is set.ch
Library is core
$SEEALSO$
Macro compiler
$END$
*/