diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2023-04-27 11:03:30 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2023-04-27 11:03:30 -0300 |
commit | 97a4ca3b4078f581cdc8cebc4fa4cf39d5ff8125 (patch) | |
tree | 3ec0442b2f1ce9f3a081da5cf14f281b2d2811d5 /lptree.c | |
parent | 012cf9c86cf91cb8354e229bde335592d41b84b2 (diff) | |
download | lpeg-97a4ca3b4078f581cdc8cebc4fa4cf39d5ff8125.tar.gz lpeg-97a4ca3b4078f581cdc8cebc4fa4cf39d5ff8125.tar.bz2 lpeg-97a4ca3b4078f581cdc8cebc4fa4cf39d5ff8125.zip |
New macros 'fillset' and 'clearset'
Diffstat (limited to 'lptree.c')
-rw-r--r-- | lptree.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -670,7 +670,7 @@ static int lp_set (lua_State *L) { | |||
670 | size_t l; | 670 | size_t l; |
671 | const char *s = luaL_checklstring(L, 1, &l); | 671 | const char *s = luaL_checklstring(L, 1, &l); |
672 | byte buff[CHARSETSIZE]; | 672 | byte buff[CHARSETSIZE]; |
673 | loopset(i, buff[i] = 0); | 673 | clearset(buff); |
674 | while (l--) { | 674 | while (l--) { |
675 | setchar(buff, (byte)(*s)); | 675 | setchar(buff, (byte)(*s)); |
676 | s++; | 676 | s++; |
@@ -684,7 +684,7 @@ static int lp_range (lua_State *L) { | |||
684 | int arg; | 684 | int arg; |
685 | int top = lua_gettop(L); | 685 | int top = lua_gettop(L); |
686 | byte buff[CHARSETSIZE]; | 686 | byte buff[CHARSETSIZE]; |
687 | loopset(i, buff[i] = 0); | 687 | clearset(buff); |
688 | for (arg = 1; arg <= top; arg++) { | 688 | for (arg = 1; arg <= top; arg++) { |
689 | int c; | 689 | int c; |
690 | size_t l; | 690 | size_t l; |
@@ -734,7 +734,7 @@ static int lp_utfr (lua_State *L) { | |||
734 | if (to <= 0x7f) { /* ascii range? */ | 734 | if (to <= 0x7f) { /* ascii range? */ |
735 | unsigned int f; | 735 | unsigned int f; |
736 | byte buff[CHARSETSIZE]; /* code it as a regular charset */ | 736 | byte buff[CHARSETSIZE]; /* code it as a regular charset */ |
737 | loopset(i, buff[i] = 0); | 737 | clearset(buff); |
738 | for (f = (int)from; f <= to; f++) | 738 | for (f = (int)from; f <= to; f++) |
739 | setchar(buff, f); | 739 | setchar(buff, f); |
740 | newcharset(L, buff); | 740 | newcharset(L, buff); |
@@ -1298,7 +1298,7 @@ int lp_gc (lua_State *L) { | |||
1298 | static void createcat (lua_State *L, const char *catname, int (catf) (int)) { | 1298 | static void createcat (lua_State *L, const char *catname, int (catf) (int)) { |
1299 | int c; | 1299 | int c; |
1300 | byte buff[CHARSETSIZE]; | 1300 | byte buff[CHARSETSIZE]; |
1301 | loopset(i, buff[i] = 0); | 1301 | clearset(buff); |
1302 | for (c = 0; c <= UCHAR_MAX; c++) | 1302 | for (c = 0; c <= UCHAR_MAX; c++) |
1303 | if (catf(c)) setchar(buff, c); | 1303 | if (catf(c)) setchar(buff, c); |
1304 | newcharset(L, buff); | 1304 | newcharset(L, buff); |
@@ -1373,6 +1373,7 @@ static struct luaL_Reg metareg[] = { | |||
1373 | 1373 | ||
1374 | int luaopen_lpeg (lua_State *L); | 1374 | int luaopen_lpeg (lua_State *L); |
1375 | int luaopen_lpeg (lua_State *L) { | 1375 | int luaopen_lpeg (lua_State *L) { |
1376 | printf("%ld\n", sizeof(TTree)); | ||
1376 | luaL_newmetatable(L, PATTERN_T); | 1377 | luaL_newmetatable(L, PATTERN_T); |
1377 | lua_pushnumber(L, MAXBACK); /* initialize maximum backtracking */ | 1378 | lua_pushnumber(L, MAXBACK); /* initialize maximum backtracking */ |
1378 | lua_setfield(L, LUA_REGISTRYINDEX, MAXSTACKIDX); | 1379 | lua_setfield(L, LUA_REGISTRYINDEX, MAXSTACKIDX); |