ceptr
 All Data Structures Files Functions Variables Typedefs Macros Modules Pages
semtrex.h File Reference

Semantic tree regular expression header file. More...

#include "tree.h"
Include dependency graph for semtrex.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SgroupOpen
 
struct  SgroupClose
 
struct  Svalue
 
struct  Sliteral
 
union  STypeData
 
struct  SState
 

Macros

#define isTransitionPop(t)   (t<0)
 
#define isTransitionNext(t)   (t==0)
 
#define LITERAL_NOT   0x01
 
#define LITERAL_SET   0x02
 
#define _sl(t, s)   __sl(t,false,1,s)
 macro to add a single symbol literal to semtrex tree
 
#define _sln(t, s)   __sl(t,true,1,s)
 macro to add a single symbol literal not to semtrex tree
 
#define DS(l, t)   {char buf[1000];puts("\n" #l ":");_dump_semtrex(G_sem,t,buf);puts(buf);}
 debugging macro for quickly dumping out a semtrex text string
 

Typedefs

typedef int StateType
 
typedef int TransitionType
 
typedef struct SState SState
 
typedef struct SgroupOpen SgroupOpen
 
typedef struct SgroupClose SgroupClose
 
typedef struct Svalue Svalue
 
typedef struct Sliteral Sliteral
 
typedef union STypeData STypeData
 

Enumerations

enum  StateType {
  StateSymbol, StateAny, StateValue, StateSplit,
  StateMatch, StateGroupOpen, StateGroupClose, StateDescend,
  StateWalk, StateNot
}
 
enum  { TransitionDown =1, TransitionNone =0x8000 }
 

Functions

SState_stx_makeFA (T *s, int *statesP)
 
void _stx_freeFA (SState *s)
 
int _t_match (T *semtrex, T *t)
 
int _t_matchr (T *semtrex, T *t, T **r)
 
T_stx_get_matched_node (Symbol s, T *match_results, T *match_tree, int *sibs)
 
void _stx_replace (T *semtrex, T *t, T *replace)
 
T_t_get_match (T *result, Symbol group)
 
T__t_embody_from_match (SemTable *sem, T *match, T *t)
 
T_t_embody_from_match (SemTable *sem, T *match, Symbol group, T *t)
 
char * _dump_semtrex (SemTable *sem, T *s, char *buf)
 
TmakeASCIITree (char *c)
 
TparseSemtrex (SemTable *sem, char *stx)
 
T_stx_results2sem_map (SemTable *sem, T *match_results, T *match_tree)
 
T__stxcv (T *stxx, char c)
 
T__stxcvm (T *stxx, int not, int count,...)
 
TasciiT_toi (T *asciiT, T *match, T *t, Symbol s)
 
TasciiT_tol (T *asciiT, T *match, T *t, Symbol s)
 
TasciiT_tof (T *asciiT, T *match, T *t, Symbol s)
 
TasciiT_tos (T *asciiT, T *match, T *t, Symbol s)
 
TasciiT_toc (T *asciiT, T *match, T *t, Symbol s)
 
Twrap (T *tokens, T *results, Symbol contents_s, Symbol open_s)
 
T__sl (T *p, bool not, int count,...)
 
void __stx_dump (SState *s, char *buf)
 
char * _stx_dump (SState *s, char *buf)
 
void stx_dump (T *s)
 

Variables

SStateG_cur_stx_state
 
char G_stx_dump_buf [100000]
 

Detailed Description

Semantic tree regular expression header file.

Definition in file semtrex.h.