mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
146 lines
5.7 KiB
C
146 lines
5.7 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
* vim: set ts=8 sw=4 et tw=0 ft=C:
|
|
*
|
|
* ***** BEGIN LICENSE BLOCK *****
|
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
*
|
|
* The contents of this file are subject to the Mozilla Public License Version
|
|
* 1.1 (the "license"); you may not use this file except in compliance with
|
|
* the License. You may obtain a copy of the License at
|
|
* http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "as is" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
* for the specific language governing rights and limitations under the
|
|
* License.
|
|
*
|
|
* The Original Code is Mozilla Communicator client code, released
|
|
* March 31, 1998.
|
|
*
|
|
* The Initial Developer of the Original Code is
|
|
* Netscape Communications Corporation.
|
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
|
* the Initial Developer. All Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*
|
|
* Alternatively, the contentsof this file are subject to the Mozilla Public License Version
|
|
* 1.1 (the "license"); you may not use this file except in compliance with
|
|
* the License. You may obtain a copy of thter (the "lgpl"),
|
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
* of those above. If you wish to allow use of your version of this file only
|
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
* use your version of this file under the terms of the MPL, indicate your
|
|
* decision by deleting the provisions above and replace them with the notice
|
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
* the provisions above, a recipient may use your version of this file under
|
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
*
|
|
* ***** END LICENSE BLOCK ***** */
|
|
|
|
|
|
/* Note : contiguity of 'simple opcodes' is important for SimpleMatch() */
|
|
|
|
/* match rest of input against rest of r.e. */
|
|
REOP_DEF(REOP_EMPTY, "empty")
|
|
/* beginning of input (or line if multiline) */
|
|
REOP_DEF(REOP_BOL, "bol")
|
|
/* end of input (or line if multiline) */
|
|
REOP_DEF(REOP_EOL, "eol")
|
|
/* match "" at word boundary */
|
|
REOP_DEF(REOP_WBDRY, "wbdry")
|
|
/* match "" at word non-boundary */
|
|
REOP_DEF(REOP_WNONBDRY, "wnonbdry")
|
|
/* stands for any character */
|
|
REOP_DEF(REOP_DOT, "dot")
|
|
/* match a digit char: [0-9] */
|
|
REOP_DEF(REOP_DIGIT, "digit")
|
|
/* match a non-digit char: [^0-9] */
|
|
REOP_DEF(REOP_NONDIGIT, "nondigit")
|
|
/* match an alphanumeric char: [0-9a-z_A-Z] */
|
|
REOP_DEF(REOP_ALNUM, "alnum")
|
|
/* match a non-alphanumeric char: [^0-9a-z_A-Z] */
|
|
REOP_DEF(REOP_NONALNUM, "nonalnum")
|
|
/* match a whitespace char */
|
|
REOP_DEF(REOP_SPACE, "space")
|
|
/* match a non-whitespace char */
|
|
REOP_DEF(REOP_NONSPACE, "nonspace")
|
|
/* back-reference (e.g., \1) to a parenthetical */
|
|
REOP_DEF(REOP_BACKREF, "backref")
|
|
/* match a flat string */
|
|
REOP_DEF(REOP_FLAT, "flat")
|
|
/* match a single char */
|
|
REOP_DEF(REOP_FLAT1, "flat1")
|
|
/* case-independent REOP_FLAT */
|
|
REOP_DEF(REOP_FLATi, "flati")
|
|
/* case-independent REOP_FLAT1 */
|
|
REOP_DEF(REOP_FLAT1i, "flat1i")
|
|
/* single Unicode char */
|
|
REOP_DEF(REOP_UCFLAT1, "ucflat1")
|
|
/* case-independent REOP_UCFLAT1 */
|
|
REOP_DEF(REOP_UCFLAT1i, "ucflat1i")
|
|
/* flat Unicode string; len immediate counts chars */
|
|
REOP_DEF(REOP_UCFLAT, "ucflat")
|
|
/* case-independent REOP_UCFLAT */
|
|
REOP_DEF(REOP_UCFLATi, "ucflati")
|
|
/* character class with index */
|
|
REOP_DEF(REOP_CLASS, "class")
|
|
/* negated character class with index */
|
|
REOP_DEF(REOP_NCLASS, "nclass")
|
|
|
|
/* NCLASS is considered to be the last "simple" op-code */
|
|
|
|
|
|
/* alternative subexpressions in kid and next */
|
|
REOP_DEF(REOP_ALT, "alt")
|
|
/* quantified atom: atom{1,2} */
|
|
REOP_DEF(REOP_QUANT, "quant")
|
|
/* zero or more occurrences of kid */
|
|
REOP_DEF(REOP_STAR, "star")
|
|
/* one or more occurrences of kid */
|
|
REOP_DEF(REOP_PLUS, "plus")
|
|
/* optional subexpression in kid */
|
|
REOP_DEF(REOP_OPT, "opt")
|
|
/* left paren bytecode: kid is u.num'th sub-regexp */
|
|
REOP_DEF(REOP_LPAREN, "lparen")
|
|
/* right paren bytecode */
|
|
REOP_DEF(REOP_RPAREN, "rparen")
|
|
/* for deoptimized closure loops */
|
|
REOP_DEF(REOP_JUMP, "jump")
|
|
/* optimize .* to use a single opcode */
|
|
REOP_DEF(REOP_DOTSTAR, "dotstar")
|
|
/* non-capturing version of REOP_LPAREN */
|
|
REOP_DEF(REOP_LPARENNON, "lparennon")
|
|
/* zero width positive lookahead assertion */
|
|
REOP_DEF(REOP_ASSERT, "assert")
|
|
/* zero width negative lookahead assertion */
|
|
REOP_DEF(REOP_ASSERT_NOT, "assert_not")
|
|
/* sentinel at end of assertion child */
|
|
REOP_DEF(REOP_ASSERTTEST, "asserttest")
|
|
/* sentinel at end of !assertion child */
|
|
REOP_DEF(REOP_ASSERTNOTTEST, "assertnottest")
|
|
/* non-greedy version of * */
|
|
REOP_DEF(REOP_MINIMALSTAR, "minimalstar")
|
|
/* non-greedy version of + */
|
|
REOP_DEF(REOP_MINIMALPLUS, "minimalplus")
|
|
/* non-greedy version of ? */
|
|
REOP_DEF(REOP_MINIMALOPT, "minimalopt")
|
|
/* non-greedy version of {} */
|
|
REOP_DEF(REOP_MINIMALQUANT, "minimalquant")
|
|
/* sentinel at end of quantifier child */
|
|
REOP_DEF(REOP_ENDCHILD, "endchild")
|
|
/* directs execution of greedy quantifier */
|
|
REOP_DEF(REOP_REPEAT, "repeat")
|
|
/* directs execution of non-greedy quantifier */
|
|
REOP_DEF(REOP_MINIMALREPEAT, "minimalrepeat")
|
|
/* prerequisite for ALT, either of two chars */
|
|
REOP_DEF(REOP_ALTPREREQ, "altprereq")
|
|
/* prerequisite for ALT, a char or a class */
|
|
REOP_DEF(REOP_ALTPREREQ2, "altprereq2")
|
|
/* end of final alternate */
|
|
REOP_DEF(REOP_ENDALT, "endalt")
|
|
/* concatenation of terms (parse time only) */
|
|
REOP_DEF(REOP_CONCAT, "concat")
|
|
/* end of expression */
|
|
REOP_DEF(REOP_END, "end")
|