!++ ! REGEX.R32 ! ! ! Copyright (c) 2008, Matthew Madison. ! ! All rights reserved. ! ! Redistribution and use in source and binary forms, with or without ! modification, are permitted provided that the following conditions ! are met: ! ! * Redistributions of source code must retain the above ! copyright notice, this list of conditions and the following ! disclaimer. ! * Redistributions in binary form must reproduce the above ! copyright notice, this list of conditions and the following ! disclaimer in the documentation and/or other materials provided ! with the distribution. ! * Neither the name of the copyright owner nor the names of any ! other contributors may be used to endorse or promote products ! derived from this software without specific prior written ! permission. ! ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ! "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ! LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ! A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ! OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ! SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ! LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ! DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ! THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ! (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ! OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. !-- LIBRARY 'MX_SRC_COMMON:FIELDS'; _DEF (REGEX) REGEX_L_MAGIC = _LONG, REGEX_L_NSUB = _LONG, REGEX_A_ENDP = _LONG, REGEX_A_G = _LONG _ENDDEF (REGEX); _DEF (REGMAT) REGMAT_L_SO = _LONG, REGMAT_L_EO = _LONG _ENDDEF (REGMAT); LITERAL REG_NOMATCH = 1, REG_BADPAT = 2, REG_ECOLLATE = 3, REG_ECTYPE = 4, REG_EESCAPE = 5, REG_ESUBREG = 6, REG_EBRACK = 7, REG_EPAREN = 8, REG_EBRACE = 9, REG_BADBR = 10, REG_ERANGE = 11, REG_ESPACE = 12, REG_BADRPT = 13, REG_EMPTY = 14, REG_ASSERT = 15, REG_INVARG = 16, REG_ENOSYS = 17, REG_ATOI = 255, REG_ITAO = 256; LITERAL REG_M_NOTBOL = 1, REG_M_NOTEOL = 2, REG_M_STARTEND = 4, REG_M_TRACE = 256, REG_M_LARGE = 512, REG_M_BACKR = 1024, REG_M_BASIC = 0, REG_M_EXTENDED = 1, REG_M_ICASE = 2, REG_M_NOSUB = 4, REG_M_NEWLINE = 8, REG_M_NOSPEC = 16, REG_M_DUMP = 64; MACRO REG_V_NOTBOL = 0,1,0%, REG_V_NOTEOL = 1,1,0%, REG_V_STARTEND = 2,1,0%, REG_V_TRACE = 8,1,0%, REG_V_LARGE = 9,1,0%, REG_V_BACKR = 10,1,0%, REG_V_EXTENDED = 0,1,0%, REG_V_ICASE = 1,1,0%, REG_V_NOSUB = 2,1,0%, REG_V_NEWLINE = 3,1,0%, REG_V_NOSPEC = 4,1,0%, REG_V_DUMP = 6,1,0%; EXTERNAL ROUTINE MX_REGCOMP : BLISS ADDRESSING_MODE (GENERAL), MX_REGERROR : BLISS ADDRESSING_MODE (GENERAL), MX_REGEXEC : BLISS ADDRESSING_MODE (GENERAL), MX_REGFREE : BLISS ADDRESSING_MODE (GENERAL);