Exemplo n.º 1
0
__attribute__((constructor)) static void setup ()
{
	static OnigSyntaxType syntax;
	onig_copy_syntax(&syntax, ONIG_SYNTAX_RUBY);
	onig_set_syntax_options(&syntax, ONIG_OPTION_OFF(syntax.options, ONIG_OPTION_ASCII_RANGE));
	onig_set_default_syntax(&syntax);
}
Exemplo n.º 2
0
/* Open the library */
REX_API int REX_OPENLIB (lua_State *L) {
  if (ONIGURUMA_VERSION_MAJOR > atoi (onig_version ())) {
    return luaL_error (L, "%s requires at least version %d of Oniguruma library",
      REX_LIBNAME, (int)ONIGURUMA_VERSION_MAJOR);
  }
  onig_init();
  onig_set_default_syntax(ONIG_SYNTAX_RUBY);
  alg_register(L, r_methods, r_functions, "Oniguruma");
  return 1;
}
Exemplo n.º 3
0
/* Open the library */
REX_API int REX_OPENLIB (lua_State *L) {
  if (ONIGURUMA_VERSION_MAJOR > atoi (onig_version ())) {
    return luaL_error (L, "%s requires at least version %d of Oniguruma library",
      REX_LIBNAME, (int)ONIGURUMA_VERSION_MAJOR);
  }

  onig_init();
  onig_set_default_syntax(ONIG_SYNTAX_RUBY);

  /* create a new function environment to serve as a metatable for methods */
  lua_newtable (L);
  lua_pushvalue (L, -1);
  lua_replace (L, LUA_ENVIRONINDEX);
  lua_pushvalue(L, -1); /* mt.__index = mt */
  lua_setfield(L, -2, "__index");
  luaL_register (L, NULL, regex_meta);

  /* register functions */
  luaL_register (L, REX_LIBNAME, rexlib);
  lua_pushliteral (L, REX_VERSION" (for Oniguruma)");
  lua_setfield (L, -2, "_VERSION");

  return 1;
}
Exemplo n.º 4
0
extern int main(int argc, char* argv[])
{
  int r;
  char buf[200];
  regex_t reg;
  UChar* pattern;

  reg_set_encoding(REG_POSIX_ENCODING_ASCII);

  /* default syntax (ONIG_SYNTAX_RUBY) */
  pattern = (UChar* )"^a+b{2,7}[c-f]?$|uuu";
  r = regcomp(&reg, (char* )pattern, REG_EXTENDED);
  if (r) {
    regerror(r, &reg, buf, sizeof(buf));
    fprintf(stderr, "ERROR: %s\n", buf);
    return -1;
  }
  x(&reg, pattern, (UChar* )"aaabbbbd");

  /* POSIX Basic RE (REG_EXTENDED is not specified.) */
  pattern = (UChar* )"^a+b{2,7}[c-f]?|uuu";
  r = regcomp(&reg, (char* )pattern, 0);
  if (r) {
    regerror(r, &reg, buf, sizeof(buf));
    fprintf(stderr, "ERROR: %s\n", buf);
    return -1;
  }
  x(&reg, pattern, (UChar* )"a+b{2,7}d?|uuu");

  /* POSIX Basic RE (REG_EXTENDED is not specified.) */
  pattern = (UChar* )"^a*b\\{2,7\\}\\([c-f]\\)$";
  r = regcomp(&reg, (char* )pattern, 0);
  if (r) {
    regerror(r, &reg, buf, sizeof(buf));
    fprintf(stderr, "ERROR: %s\n", buf);
    return -1;
  }
  x(&reg, pattern, (UChar* )"aaaabbbbbbd");

  /* POSIX Extended RE */
  onig_set_default_syntax(ONIG_SYNTAX_POSIX_EXTENDED);
  pattern = (UChar* )"^a+b{2,7}[c-f]?)$|uuu";
  r = regcomp(&reg, (char* )pattern, REG_EXTENDED);
  if (r) {
    regerror(r, &reg, buf, sizeof(buf));
    fprintf(stderr, "ERROR: %s\n", buf);
    return -1;
  }
  x(&reg, pattern, (UChar* )"aaabbbbd)");

  pattern = (UChar* )"^b.";
  r = regcomp(&reg, (char* )pattern, REG_EXTENDED | REG_NEWLINE);
  if (r) {
    regerror(r, &reg, buf, sizeof(buf));
    fprintf(stderr, "ERROR: %s\n", buf);
    return -1;
  }
  x(&reg, pattern, (UChar* )"a\nb\n");

  regfree(&reg);
  onig_end();
  return 0;
}
Exemplo n.º 5
0
/*
   rex.setdefaultsyntax (syntax)
   @param syntax: one of the predefined strings listed in array 'Syntaxes'
   @return: nothing
*/
static int LOnig_setdefaultsyntax (lua_State *L) {
  (void)luaL_checkstring(L, 1);
  onig_set_default_syntax(getsyntax(L, 1));
  return 0;
}
Exemplo n.º 6
0
cell AMX_NATIVE_CALL pawn_regex_def_syntax(AMX* amx, cell* params)
{
	switch(params[1])
	{
		case 1:
		{
			onig_set_default_syntax(ONIG_SYNTAX_PERL);
			logprintf("[REGEX] Default syntax set to ONIG_SYNTAX_PERL.");
			return 1;
		}
		case 2:
		{
			onig_set_default_syntax(ONIG_SYNTAX_RUBY);
			logprintf("[REGEX] Default syntax set to ONIG_SYNTAX_RUBY.");
			return 1;
		}
		case 3:
		{
			onig_set_default_syntax(ONIG_SYNTAX_JAVA);
			logprintf("[REGEX] Default syntax set to ONIG_SYNTAX_JAVA.");
			return 1;
		}
		case 4:
		{
			onig_set_default_syntax(ONIG_SYNTAX_GNU_REGEX);
			logprintf("[REGEX] Default syntax set to ONIG_SYNTAX_GNU_REGEX.");
			return 1;
		}
		case 5:
		{
			onig_set_default_syntax(ONIG_SYNTAX_GREP);
			logprintf("[REGEX] Default syntax set to ONIG_SYNTAX_GREP.");
			return 1;
		}
		case 6:
		{
			onig_set_default_syntax(ONIG_SYNTAX_EMACS);
			logprintf("[REGEX] Default syntax set to ONIG_SYNTAX_EMACS.");
			return 1;
		}
		case 7:
		{
			onig_set_default_syntax(ONIG_SYNTAX_POSIX_EXTENDED);
			logprintf("[REGEX] Default syntax set to ONIG_SYNTAX_POSIX_EXTENDED.");
			return 1;
		}
		case 8:
		{
			onig_set_default_syntax(ONIG_SYNTAX_POSIX_BASIC);
			logprintf("[REGEX] Default syntax set to ONIG_SYNTAX_POSIX_BASIC.");
			return 1;
		}
		default:
		{
			onig_set_default_syntax(ONIG_SYNTAX_PERL);
			logprintf("[REGEX] Default syntax set to ONIG_SYNTAX_PERL.");
			return 1;
		}
	}
	return 1;
}