/usr/include/styx/styx_gen.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 | /* ------------------------------------------------------------------------- */
/* */
/* [styx_gen.h] STYX Compiler Library */
/* - realizes an abstract syntax tree - */
/* */
/* Copyright (c) 2002 by D\olle, Manns. */
/* ------------------------------------------------------------------------- */
/* File generated by 'ctoh'. Don't change manually. */
#ifndef styx_gen_INCL
#define styx_gen_INCL
#include "standard.h"
#include "scn_base.h"
#include "prs.h"
#include "hmap.h"
#ifdef __cplusplus
extern "C" {
#endif
/*
The module [styx_gen] provides an reentrant interface for the compilation of
STYX definitions.
*/
/* -------------------------- Types and macros ------------------------------ */
AbstractType( StyxApp_T ) /* Abstract STYX application type */
;
AbstractType( Styx_T ) /* Abstract STYX compiler type */
;
/* ----------------------------- Init & Quit --------------------------------- */
StyxApp_T STYX_app_init(void); /* init STYX application */
void STYX_app_quit(StyxApp_T styapp)
/* quit STYX application; release resources */
;
Styx_T STYX_init
(
StyxApp_T styapp, c_string language,
void (*prMsg)(c_string msg), c_bool verbose, c_bool diagnose
)
/* init STYX compilation for 'language';
'prMsg' --> print function or NULL
'verbose' --> (de)activate progress information
'diagnose' --> (de)activate diagnose information
*/
;
void STYX_quit(Styx_T styctx); /* quit STYX compilation; release resources */
/* ----------------------------- Set & Get ----------------------------------- */
void STYX_set_conflict_policy(Styx_T styctx, c_bool conflicts)
/* (dis)allow conflicts during parse table generation */
;
void STYX_set_verbose(Styx_T styctx, c_bool verbose)
/* (de)activate progress information */
;
void STYX_set_diagnose(Styx_T styctx, c_bool diagnose)
/* (de)activate diagnose information */
;
void STYX_set_shortform(Styx_T styctx, c_bool shortform)
/* (de)activate short filenames ( default: longform ) */
;
void STYX_set_context(Styx_T styctx, Any_T extctx)
/* set external context information */
;
Any_T STYX_get_context(Styx_T styctx); /* get external context information */
void STYX_set_fun_epath
(
Styx_T styctx,
c_string (*ef_path)(Styx_T styctx, c_string language, c_string incpath)
)
/* (re)set embedded language path retrieval function */
;
void STYX_set_fun_edfn
(
Styx_T styctx,
c_string (*ef_dfn)(Styx_T styctx, c_string language, c_string incpath)
)
/* (re)set embedded language definition retrieval function */
;
MAP(symbol,Styx_T) STYX_get_embed(Styx_T styctx)
/* STYX compilations of embedded languages or NULL;
The result map has to be released.
*/
;
void STYX_get_tables(Styx_T styctx, PLR_Tab* PTab, Scn_T* Scn)
/* get scan & parse table */
;
/* ----------------------------- Compilation --------------------------------- */
int STYX_compile_file(Styx_T styctx, c_string stydfn, c_string incpath)
/* compiles STYX definition in file 'stydfn' and
creates the corresponding scan & parse table;
uses 'incpath' as include path
RC > 0: number of syntax and semantic errors
RC = -1: table creation failed
RC = 0: successful compilation
*/
;
int STYX_compile_string(Styx_T styctx, c_string stydfn, c_string incpath)
/* compiles STYX definition in string 'stydfn' and
creates the corresponding scan & parse table;
uses 'incpath' as include path
RC > 0: number of syntax and semantic errors
RC = -1: table creation failed
RC = 0: successful compilation
*/
;
/* ----------------------- Table image & source generation ------------------- */
void STYX_createTabIMG(Styx_T styctx, c_string Environ)
/* unloads scan & parse table to images
[$'Environ'/]<Language>.lim
[$'Environ'/]<Language>.pim (optional)
*/
;
void STYX_appendTabIMG(Styx_T styctx, BinImg_T lim, BinImg_T pim)
/* unloads scan & parse table to images 'lim' and
optional 'pim'
*/
;
void STYX_createTabC(Styx_T styctx, c_string Environ)
/* creates scan & parse table sources
[$'Environ'/]<Language>_lim.c
[$'Environ'/]<Language>_pim.c (optional)
*/
;
void STYX_exportTab(Styx_T styctx, c_string Environ, c_string Template)
/* exports scan table definition, optional based on a given template definition
[$'Environ'/]<Language>.ltbl
[$'Environ'/]<Language>.ptbl (optional)
*/
;
void STYX_appendTabC
(
Styx_T styctx,
FILE* lfp, c_string lfid, FILE* pfp, c_string pfid
)
/* appends scan & parse table sources to files 'lfp' and
optional 'pfp';
'lfid', 'pfid' --> optional file names
*/
;
/* --------------------- Abstract interface generation ----------------------- */
void STYX_createABS(Styx_T styctx, c_string Environ)
/* create abstract interface [$'Environ'/]<Language>.abs */
;
void STYX_appendABS(Styx_T styctx, FILE* fp, c_string fid)
/* append abstract interface to file 'fp';
'fid' --> optional file name
*/
;
/* --------------------- C interface generation ------------------------------ */
void STYX_createIntC(Styx_T styctx, c_string Environ)
/* create C interface [$'Environ'/]<Language>_int.c */
;
void STYX_createAntC(Styx_T styctx, c_string Environ)
/* create special abstract C interface [$'Environ'/]<Language>_ant.c */
;
void STYX_appendIntC(Styx_T styctx, FILE* fp, c_string fid)
/* append C interface to file 'fp';
'fid' --> optional file name
*/
;
void STYX_appendAntC(Styx_T styctx, FILE* fp, c_string fid)
/* append C interface to file 'fp';
'fid' --> optional file name
*/
;
#ifdef __cplusplus
}
#endif
#endif
|