Removed unused tokens and other cleanup of parser/scanner

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@795 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2000-09-01 21:02:37 +00:00
commit f36154139f
2 changed files with 98 additions and 117 deletions

View file

@ -481,19 +481,17 @@ static void dump_nested(char *parent) {
%token <id> NUM_INT NUM_FLOAT CHARCONST NUM_UNSIGNED NUM_LONG NUM_ULONG %token <id> NUM_INT NUM_FLOAT CHARCONST NUM_UNSIGNED NUM_LONG NUM_ULONG
%token <ivalue> TYPEDEF %token <ivalue> TYPEDEF
%token <type> TYPE_INT TYPE_UNSIGNED TYPE_SHORT TYPE_LONG TYPE_FLOAT TYPE_DOUBLE TYPE_CHAR TYPE_VOID TYPE_SIGNED TYPE_BOOL TYPE_TYPEDEF TYPE_RAW %token <type> TYPE_INT TYPE_UNSIGNED TYPE_SHORT TYPE_LONG TYPE_FLOAT TYPE_DOUBLE TYPE_CHAR TYPE_VOID TYPE_SIGNED TYPE_BOOL TYPE_TYPEDEF TYPE_RAW
%token LPAREN RPAREN COMMA SEMI EXTERN INIT LBRACE RBRACE DEFINE PERIOD %token LPAREN RPAREN COMMA SEMI EXTERN INIT LBRACE RBRACE PERIOD
%token CONST STRUCT UNION EQUAL SIZEOF MODULE LBRACKET RBRACKET %token CONST STRUCT UNION EQUAL SIZEOF MODULE LBRACKET RBRACKET
%token ILLEGAL CONSTANT %token ILLEGAL CONSTANT
%token READONLY READWRITE NAME RENAME ADDMETHODS PRAGMA %token READONLY READWRITE NAME RENAME ADDMETHODS PRAGMA
%token CVALUE COUT %token ENUM
%token ENUM ENDDEF MACRO
%token CLASS PRIVATE PUBLIC PROTECTED COLON STATIC VIRTUAL FRIEND OPERATOR THROW TEMPLATE %token CLASS PRIVATE PUBLIC PROTECTED COLON STATIC VIRTUAL FRIEND OPERATOR THROW TEMPLATE
%token NATIVE INLINE %token NATIVE INLINE
%token RAW_MODE ALPHA_MODE TEXT DOC_DISABLE DOC_ENABLE STYLE LOCALSTYLE %token TEXT DOC_DISABLE DOC_ENABLE STYLE LOCALSTYLE
%token TYPEMAP EXCEPT ECHO NEW APPLY CLEAR DOCONLY %token TYPEMAP EXCEPT ECHO NEW APPLY CLEAR DOCONLY
%token <ivalue> TITLE SECTION SUBSECTION SUBSUBSECTION %token <ivalue> TITLE SECTION SUBSECTION SUBSUBSECTION
%token LESSTHAN GREATERTHAN %token LESSTHAN GREATERTHAN
%token <id> USERDIRECTIVE
/* Objective C tokens */ /* Objective C tokens */
@ -1253,11 +1251,6 @@ statement : INCLUDE STRING LBRACE {
| LOCALSTYLE stylelist { | LOCALSTYLE stylelist {
} }
/* User defined directive */
| user_directive{ }
;
/* Dcumentation disable/enable */ /* Dcumentation disable/enable */
doc_enable : DOC_DISABLE { doc_enable : DOC_DISABLE {
@ -3275,18 +3268,6 @@ typemap_args : LPAREN parms RPAREN {
} }
; ;
/* User defined directive */
user_directive : USERDIRECTIVE LPAREN parms RPAREN uservalue { }
| USERDIRECTIVE uservalue { }
;
uservalue : ID SEMI { }
| STRING SEMI { }
| LBRACE RBRACE { }
;
/* Parsing of expressions, but only for throw away code */ /* Parsing of expressions, but only for throw away code */

View file

@ -470,6 +470,8 @@ int yylook(void) {
yylen = 0; yylen = 0;
} }
else if ((isalpha(c)) || (c == '_') || (c == '$')) state = 7;
/* Look for single character symbols */ /* Look for single character symbols */
else if (c == '(') return (LPAREN); else if (c == '(') return (LPAREN);
@ -525,7 +527,7 @@ int yylook(void) {
yylen = 0; yylen = 0;
} }
else if (isdigit(c)) state = 8; // A numerical value else if (isdigit(c)) state = 8; // A numerical value
else if ((isalpha(c)) || (c == '_') || (c == '$')) state = 7;
else state = 99; else state = 99;
break; break;
case 1: /* Comment block */ case 1: /* Comment block */
@ -935,6 +937,7 @@ extern "C" int yylex(void) {
case ID: case ID:
if (yytext[0] != '%') {
/* Look for keywords now */ /* Look for keywords now */
if (strcmp(yytext,"int") == 0) { if (strcmp(yytext,"int") == 0) {
@ -1025,8 +1028,7 @@ extern "C" int yylex(void) {
if (strcmp(yytext,"volatile") == 0) return(yylex()); if (strcmp(yytext,"volatile") == 0) return(yylex());
// SWIG directives // SWIG directives
} else {
if (yytext[0] == '%') {
if (strcmp(yytext,"%module") == 0) return(MODULE); if (strcmp(yytext,"%module") == 0) return(MODULE);
if (strcmp(yytext,"%init") == 0) return(INIT); if (strcmp(yytext,"%init") == 0) return(INIT);
if (strcmp(yytext,"%wrapper") == 0) return(WRAPPER); if (strcmp(yytext,"%wrapper") == 0) return(WRAPPER);
@ -1072,8 +1074,6 @@ extern "C" int yylex(void) {
yylval.ivalue = 1; yylval.ivalue = 1;
return(TYPEDEF); return(TYPEDEF);
} }
if (strcmp(yytext,"%alpha") == 0) return(ALPHA_MODE);
if (strcmp(yytext,"%raw") == 0) return(RAW_MODE);
if (strcmp(yytext,"%text") == 0) return(TEXT); if (strcmp(yytext,"%text") == 0) return(TEXT);
if (strcmp(yytext,"%native") == 0) return(NATIVE); if (strcmp(yytext,"%native") == 0) return(NATIVE);
if (strcmp(yytext,"%disabledoc") == 0) return(DOC_DISABLE); if (strcmp(yytext,"%disabledoc") == 0) return(DOC_DISABLE);