Sha256: 76ccc2351ebd9f2ac162c18d20c18185778becc3fe4ed829d239ecad4867b677

Contents?: true

Size: 1.63 KB

Versions: 33

Compression:

Stored size: 1.63 KB

Contents

/*
** $Id: lpvm.h,v 1.3 2014/02/21 13:06:41 roberto Exp $
*/

#if !defined(lpvm_h)
#define lpvm_h

#include "lpcap.h"


/* Virtual Machine's LpegInstructions */
typedef enum Opcode {
  IAny, /* if no char, fail */
  IChar,  /* if char != aux, fail */
  ISet,  /* if char not in buff, fail */
  ITestAny,  /* in no char, jump to 'offset' */
  ITestChar,  /* if char != aux, jump to 'offset' */
  ITestSet,  /* if char not in buff, jump to 'offset' */
  ISpan,  /* read a span of chars in buff */
  IBehind,  /* walk back 'aux' characters (fail if not possible) */
  IRet,  /* return from a rule */
  IEnd,  /* end of pattern */
  IChoice,  /* stack a choice; next fail will jump to 'offset' */
  IJmp,  /* jump to 'offset' */
  ICall,  /* call rule at 'offset' */
  IOpenCall,  /* call rule number 'key' (must be closed to a ICall) */
  ICommit,  /* pop choice and jump to 'offset' */
  IPartialCommit,  /* update top choice to current position and jump */
  IBackCommit,  /* "fails" but jump to its own 'offset' */
  IFailTwice,  /* pop one choice and then fail */
  IFail,  /* go back to saved state on choice and jump to saved offset */
  IGiveup,  /* internal use */
  IFullCapture,  /* complete capture of last 'off' chars */
  IOpenCapture,  /* start a capture */
  ICloseCapture,
  ICloseRunTime
} Opcode;



typedef union LpegInstruction {
  struct Inst {
    byte code;
    byte aux;
    short key;
  } i;
  int offset;
  byte buff[1];
} LpegInstruction;


void printpatt (LpegInstruction *p, int n);
const char *lpeg_match (lua_State *L, const char *o, const char *s, const char *e,
                   LpegInstruction *op, Capture *capture, int ptop);


#endif

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
immunio-1.1.13 lua-hooks/ext/lpeg/lpvm.h
immunio-1.1.11 lua-hooks/ext/lpeg/lpvm.h
immunio-1.1.10 lua-hooks/ext/lpeg/lpvm.h
immunio-1.1.7 lua-hooks/ext/lpeg/lpvm.h
immunio-1.1.6 lua-hooks/ext/lpeg/lpvm.h
immunio-1.1.5 lua-hooks/ext/lpeg/lpvm.h
immunio-1.1.2 lua-hooks/ext/lpeg/lpvm.h
immunio-1.1.1 lua-hooks/ext/lpeg/lpvm.h
immunio-1.1.0 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.22 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.19 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.17 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.15 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.14 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.13 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.12 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.11 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.10 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.9 lua-hooks/ext/lpeg/lpvm.h
immunio-1.0.8 lua-hooks/ext/lpeg/lpvm.h