CXXToken.h
Click here to get the file
Size
1.7 kB
-
File type
text/plain
File contents
/*ident "@(#)fs:fsippsrc/CXXToken.h 3.1" */
/******************************************************************************
*
* C++ Standard Components, Release 3.0.
*
* Copyright (c) 1991, 1992 AT&T and Unix System Laboratories, Inc.
* Copyright (c) 1988, 1989, 1990 AT&T. All Rights Reserved.
*
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T and Unix System
* Laboratories, Inc. The copyright notice above does not evidence
* any actual or intended publication of such source code.
*
******************************************************************************/
#ifndef CXXTOKEN_H
#define CXXTOKEN_H
#include "Token.h"
#if 0
The C++ tokens:
NEW : "new"
DELETE : "delete"
VOID : "void"
OPERATOR : "operator"
VIRTUAL : "virtual"
INLINE : "inline"
PR : one of "public" "private"
AGGR : one of "struct" "class" "union"
ID : identifier or keyword other than the above
LITSTRING : literal string or character constant
LITINT : literal decimal integer
NL : newline character (but only considered a token when global flag newlineIsToken is on)
COLON : ":"
SEMI : ";"
COMMA : ","
STAR : "*"
POUND : "#"
LP : "("
RP : ")"
LC : "{"
RC : "}"
LS : "["
RS : "]"
LANGLE : "<"
RANGLE : ">"
QUAL : "::"
EOFTOK : end of input
OTHERTOK : anything else
#endif
/* Tokens with attributes other than base attributes.
*/
class Litint : public Token {
public:
Litint() { type = LITINT; }
Litint(const Token &base): Token(base) { type = LITINT; }
int intval;
};
class Litstring : public Token {
public:
Litstring() { type = LITSTRING; }
Litstring(const Token &base): Token(base) { type = LITSTRING; }
// different from lexeme: in thestring, escape sequences are converted and open/close delimeters are missing
String thestring;
};
#endif