/usr/include/styx/hpat.h is in styx-dev 2.0.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | /* ------------------------------------------------------------------------ */
/* */
/* [hpat.h] Template / Pattern Evaluation */
/* */
/* Copyright (c) 1999 by D\olle, Manns, Steffen */
/* ------------------------------------------------------------------------ */
/* File generated by 'ctoh'. Don't change manually. */
#ifndef hpat_INCL
#define hpat_INCL
#include "standard.h"
#include "scn_base.h"
#include "symbols.h"
#include "otab.h"
#include "gls.h"
#include "hpat_int.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
<p>The module [hpat] provides some functionality for the evaluation of
template files based on the context-free grammar [hpat.sty].
<p>It is used by the <a href="cmd_stydoc.htm">STYX reference generator</a>.
<br>
*/
/* ------------------------- Types & Macros ----------------------------- */
/* <p><b>Pattern types</b> */
#define HPAT_REF_LIST 0 // pattern list
#define HPAT_REF_PAT 1 // pattern
#define HPAT_REF_PAR 2 // pattern parameter
AbstractType(HPat_T); // Abstract template type
/* <p><b>Callback function types</b> */
// pattern reference evaluation function
typedef c_bool (*PFN_Pat)(HPat_T pHPat);
// print function
typedef void (*PFN_PatPrint)(HPat_T pHPat, c_string szTxt);
// replacement specification pattern load function
typedef StdCPtr (*PFN_PatLoad)(GLS_Lst(hpatContent) pLst);
// replacement specification apply function
typedef c_string (*PFN_PatOpr)(c_string szTxt, StdCPtr pData);
// replacement specification free function
typedef void (*PFN_PatFree)(StdCPtr pData);
/* -------------------------- Special Functions -------------------------- */
c_string HP_pat_to_txt(GLS_Lst(hpatContent) pLst)
/* template term list 'pLst' to string; allocs memory */
;
/* ------------------------- Init & Quit -------------------------------- */
void HP_init(void); /* initializes template evaluation module */
void HP_quit(void); /* terminates template evaluation module */
/* ------------------------- Create & Dispose --------------------------- */
HPat_T HP_create(void); /* creates a template evaluation object */
void HP_drop(HPat_T pHP); /* frees template evaluation object 'pHP' */
/* ------------------------- Get & Set ---------------------------------- */
void HP_setContext(HPat_T pHP, Abs_T pDocCtx)
/* sets evaluation context 'pDocCtx' in template object 'pHP' */
;
Abs_T HP_getContext(HPat_T pHP)
/* evaluation context of template object 'pHP' */
;
void HP_setPrintFun(HPat_T pHP, PFN_PatPrint pPrint)
/* sets print function 'pPrint' in template object 'pHP' */
;
PFN_PatPrint HP_getPrintFun(HPat_T pHP)
/* print function of template object 'pHP' */
;
void HP_setRefAlias(HPat_T pHP, symbol pRefAlias)
/* sets reference alias 'pRefAlias' in template object 'pHP'
*/
;
symbol HP_getRefAlias(HPat_T pHP)
/* reference alias of template object 'pHP' */
;
void HP_addPatSpec
(
HPat_T pHP, symbol pPat, PFN_Pat pPatFun, long lPatTyp
)
/* adds/overwrites evaluation function 'pPatFun'
for pattern 'pPat' of type 'lPatTyp'
to template object 'pHP'
*/
;
PFN_Pat HP_getPatFun(HPat_T pHP, symbol pPat)
/* evaluation function for pattern 'pPat'
in template object 'pHP'
*/
;
ROW(symbol) HP_getListPatRow(HPat_T pHP, symbol pListPat)
/* member patterns of pattern list 'pListPat'
in template object 'pHP'
*/
;
void HP_setScanner(HPat_T pHP, Scn_T pScn)
/* sets external scanner 'pScn' in template object 'pHP'
( will be removed by HP_drop )
*/
;
Scn_T HP_getScanner(HPat_T pHP)
/* pattern scanner of template object 'pHP' */
;
symbol HP_getPatRef(GLS_Tok pPatRef)
/* symbol of pattern refernce token 'pPatRef' */
;
c_bool HP_addSpecialFun
(
symbol pPatSym,
PFN_PatLoad pPatLoad,
PFN_PatOpr pPatOpr,
PFN_PatFree pPatFree
)
/* adds special evaluation functions for
replacement specification pattern 'pPatSym'
'pPatLoad': loads replacement specification
'pPatOpr' : applies replacement specification
'pPatFree': frees replacement specification
( RC = ok/error )
*/
;
/* ------------------------- Load & Check ------------------------------- */
c_bool HP_load
(
HPat_T pHP, Scn_Stream pStream, symbol pSrcId,
symbol pRootPat, c_bool bRecursive
)
/* loads template pattern from scan stream 'pStream'
into template object 'pHP'
'pSrcId' : optional source identifier
'pRootPat' : root pattern for evaluation
'bRecursive': recursive evaluation
( RC = ok/error )
*/
;
c_bool HP_check(HPat_T pHP)
/* checks loaded template pattern in template object 'pHP'
( RC = ok/error )
*/
;
/* ------------------------- Output Generation -------------------------- */
void HP_gendoc_ref(HPat_T pHP, GLS_Tok pPatRef)
/* evaluates and prints reference token 'pPatRef'
according template object 'pHP'
*/
;
c_bool HP_fun_defined(HPat_T pHP, symbol pRefSym)
/* whether template object 'pHP' contains a
replacement specification for pattern 'pRefSym'
*/
;
c_string HP_fun_apply(HPat_T pHP, symbol pRefSym, c_string szTxt)
/* applies the replacement specification for pattern 'pRefSym'
in template object 'pHP' to text 'szText'
RC = szTxt, if no functions defined, else result text
*/
;
void HP_gendoc_pat(HPat_T pHP, symbol pPatSym)
/* evaluates and prints pattern 'pPatSym'
according template object 'pHP'
*/
;
void HP_gendoc_src(HPat_T pHP, symbol pSrcId)
/* evaluates and prints template 'pSrcId'
according template object 'pHP'
*/
;
#ifdef __cplusplus
}
#endif
#endif
|