1 ## --------------------------------------------------------------------------
3 ## Copyright 1996-2016 The NASM Authors - All Rights Reserved
4 ## See the file AUTHORS included with the NASM distribution for
5 ## the specific copyright holders.
7 ## Redistribution and use in source and binary forms, with or without
8 ## modification, are permitted provided that the following
11 ## * Redistributions of source code must retain the above copyright
12 ## notice, this list of conditions and the following disclaimer.
13 ## * Redistributions in binary form must reproduce the above
14 ## copyright notice, this list of conditions and the following
15 ## disclaimer in the documentation and/or other materials provided
16 ## with the distribution.
18 ## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
19 ## CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20 ## INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 ## DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 ## NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 ## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 ## OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 ## EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 ## --------------------------------------------------------------------------
34 # The token parameters are in the other:
35 # TOKEN_TYPE, t_inttwo, t_flags, t_integer
37 # * is replaced with the token name converted to upper case.
38 # {xxx*yyy} is replaced with the token name stripped from the prefix
39 # xxx and suffix yyy before converting to upper case.
42 # Tokens other than instructions and registers
45 # The ? operator is a keyword, because ? is a legitimate symbol character
46 % TOKEN_QMARK
, 0, 0, 0
49 % TOKEN_PREFIX
, 0, 0, P_
*
71 % TOKEN_SIZE
, SIZE_
*, 0, S_
*
81 % TOKEN_SPECIAL
, 0, 0, S_
*
92 # PTR is a legitimate symbol, but has an optional warning
93 % TOKEN_ID
, 0, TFLAG_WARN
, 0
96 # DUP is a legitimate symbol, but also has context-specific use in extops
97 % TOKEN_ID
, 0, TFLAG_DUP
, 0
100 % TOKEN_FLOAT
, 0, 0, 0
106 % TOKEN_FLOATIZE
, 0, 0, FLOAT_
{__?float
*?__
}
116 % TOKEN_STRFUNC
, 0, 0, STRFUNC_
{__?
*?__
}
124 % TOKEN_IFUNC
, 0, 0, IFUNC_
{__?
*?__
}
134 % TOKEN_
{__?
*?__
}, 0, 0, 0
138 % TOKEN_DECORATOR
, 0, TFLAG_BRC | TFLAG_BRDCAST
, BRC_1TO
{1to*}
144 % TOKEN_DECORATOR
, 0, TFLAG_BRC
, BRC_
{*-sae
}
150 % TOKEN_DECORATOR
, 0, TFLAG_BRC
, BRC_
*
154 % TOKEN_PREFIX
, 0, TFLAG_BRC
, P_
*
159 # Multi-character operators. Used in ppscan().
170 % TOKEN_SDIV
, 0, 0, 0
173 % TOKEN_SMOD
, 0, 0, 0
192 % TOKEN_DBL_AND
, 0, 0, 0
195 % TOKEN_DBL_OR
, 0, 0, 0
198 % TOKEN_DBL_XOR
, 0, 0, 0