/*
 * token.def
 *
 * TOKEN(T_<name>, <print name>, <attribute fmt>)
 */

/* directives */
TOKEN(T_DOT_ALIGN, ".align", FMT_NONE)
TOKEN(T_DOT_ASCII, ".ascii", FMT_NONE)
TOKEN(T_DOT_ASCIZ, ".asciz", FMT_NONE)
TOKEN(T_DOT_BALIGN, ".balign", FMT_NONE)
TOKEN(T_DOT_BSS, ".bss", FMT_NONE)
TOKEN(T_DOT_BYTE, ".byte", FMT_NONE)
TOKEN(T_DOT_COMM, ".comm", FMT_NONE)
TOKEN(T_DOT_DATA, ".data", FMT_NONE)
TOKEN(T_DOT_FILE, ".file", FMT_NONE)
TOKEN(T_DOT_GLOBL, ".globl", FMT_NONE)
TOKEN(T_DOT_HIDDEN, ".hidden", FMT_NONE)
TOKEN(T_DOT_IDENT, ".ident", FMT_NONE)
TOKEN(T_DOT_INTERNAL, ".internal", FMT_NONE)
TOKEN(T_DOT_LOCAL, ".local", FMT_NONE)
TOKEN(T_DOT_LONG, ".long", FMT_NONE)
TOKEN(T_DOT_ORG, ".org", FMT_NONE)
TOKEN(T_DOT_P2ALIGN, ".p2align", FMT_NONE)
TOKEN(T_DOT_POPSECTION, ".popsection", FMT_NONE)
TOKEN(T_DOT_PREVIOUS, ".previous", FMT_NONE)
TOKEN(T_DOT_PROTECTED, ".protected", FMT_NONE)
TOKEN(T_DOT_PUSHSECTION, ".pushsection", FMT_NONE)
TOKEN(T_DOT_RODATA, ".rodata", FMT_NONE)
TOKEN(T_DOT_SECTION, ".section", FMT_NONE)
TOKEN(T_DOT_SET, ".set", FMT_NONE)
TOKEN(T_DOT_SHORT, ".short", FMT_NONE)
TOKEN(T_DOT_SIZE, ".size", FMT_NONE)
TOKEN(T_DOT_SUBSECTION, ".subsection", FMT_NONE)
TOKEN(T_DOT_SYMVER, ".symver", FMT_NONE)
TOKEN(T_DOT_TEXT, ".text", FMT_NONE)
TOKEN(T_DOT_TYPE, ".type", FMT_NONE)
TOKEN(T_DOT_WEAK, ".weak", FMT_NONE)
TOKEN(T_DOT_WEAKREF, ".weakref", FMT_NONE)
/* other symbols */
TOKEN(T_REGISTER, "<register>", FMT_UINT)
TOKEN(T_SYMBOL, "<symbol>", FMT_SYMBOL)
TOKEN(T_LOCAL_LABEL, "<local label>", FMT_UINT)	/* 1f, 2b */
TOKEN(T_AT, "@", FMT_NONE)
TOKEN(T_COLON, ":", FMT_NONE)
/* literals */
TOKEN(T_UINTEGER, "<integer>", FMT_UINT)
TOKEN(T_STRING, "<string>", FMT_STRING)
/* operators, separators */
TOKEN(T_COMMA, ",", FMT_NONE)
TOKEN(T_LPAREN, "(", FMT_NONE)
TOKEN(T_RPAREN, ")", FMT_NONE)
TOKEN(T_TILDE, "~", FMT_NONE)
TOKEN(T_MUL, "*", FMT_NONE)
TOKEN(T_DIV, "/", FMT_NONE)
TOKEN(T_REM, "%", FMT_NONE)
TOKEN(T_LSHIFT, "<<", FMT_NONE)
TOKEN(T_RSHIFT, ">>", FMT_NONE)
TOKEN(T_OR, "|", FMT_NONE)
TOKEN(T_AND, "&", FMT_NONE)
TOKEN(T_CARET, "^", FMT_NONE)
TOKEN(T_BANG, "!", FMT_NONE)
TOKEN(T_PLUS, "+", FMT_NONE)
TOKEN(T_MINUS, "-", FMT_NONE)
TOKEN(T_EQ, "=", FMT_NONE)
TOKEN(T_EQEQ, "==", FMT_NONE)
TOKEN(T_NEQ, "!=", FMT_NONE)
TOKEN(T_LT, "<", FMT_NONE)
TOKEN(T_GT, ">", FMT_NONE)
TOKEN(T_GE, ">=", FMT_NONE)
TOKEN(T_LE, "<=", FMT_NONE)
TOKEN(T_ANDAND, "&&", FMT_NONE)
TOKEN(T_OROR, "||", FMT_NONE)
/* misc */
TOKEN(T_NEWLINE, "<newline>", FMT_NONE)
TOKEN(T_EOF, "<eof>", FMT_NONE)
TOKEN(T_ERROR, "<error>", FMT_NONE)
