[Swfdec-commits] .gitignore vivified/code
Pekka Lampila
medar at kemper.freedesktop.org
Thu Apr 3 09:49:07 PDT 2008
.gitignore | 1
vivified/code/.gitignore | 1
vivified/code/Makefile.am | 18 +
vivified/code/vivi_compiler_scanner_lex.h | 296 ++++++++++++++++++++++++++++
vivified/code/vivi_compiler_scanner_lex.l | 150 ++++++++++++++
vivified/code/vivi_compiler_scanner_lex.lex | 147 -------------
6 files changed, 458 insertions(+), 155 deletions(-)
New commits:
commit d220ee54e4164b6946765a9aa113c1d00ab424a1
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Apr 3 19:47:05 2008 +0300
Change build system so that flex generated code disables some warnings
vivi_compiler_scanner_lex.h is no longer generated. I don't know whether that
is correct behaviour
diff --git a/.gitignore b/.gitignore
index d58a796..255ce62 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,4 @@ libtool
ltmain.sh
missing
stamp-h1
+ylwrap
diff --git a/vivified/code/.gitignore b/vivified/code/.gitignore
index 70af836..1cc3a3f 100644
--- a/vivified/code/.gitignore
+++ b/vivified/code/.gitignore
@@ -12,7 +12,6 @@ Makefile.in
*.loT
vivi_compiler_scanner_lex.c
-vivi_compiler_scanner_lex.h
vivi-decompile
vivi-compile
diff --git a/vivified/code/Makefile.am b/vivified/code/Makefile.am
index 64a6960..409d224 100644
--- a/vivified/code/Makefile.am
+++ b/vivified/code/Makefile.am
@@ -1,10 +1,20 @@
SUBDIRS = test
-noinst_LTLIBRARIES = libvivified-compiler.la
+noinst_LTLIBRARIES = libvivified-compiler-lex.la libvivified-compiler.la
+
+# we create own .la for lex generated code, so we can disable some warnings
+libvivified_compiler_lex_la_CFLAGS = $(GLOBAL_CFLAGS) $(SWFDEC_CFLAGS) -Wno-redundant-decls -Wno-switch-default -Wno-missing-declarations -Wno-missing-prototypes -Wno-sign-compare -Wno-unused-function -Wno-missing-noreturn
+libvivified_compiler_lex_la_LDFLAGS = $(SWFDEC_LIBS)
+
+libvivified_compiler_lex_la_SOURCES = \
+ vivi_compiler_scanner_lex.l
libvivified_compiler_la_CFLAGS = $(GLOBAL_CFLAGS) $(SWFDEC_CFLAGS)
libvivified_compiler_la_LDFLAGS = $(SWFDEC_LIBS)
+libvivified_compiler_la_LIBADD = \
+ libvivified-compiler-lex.la
+
libvivified_compiler_la_SOURCES = \
vivi_code_assignment.c \
vivi_code_binary.c \
@@ -35,7 +45,6 @@ libvivified_compiler_la_SOURCES = \
vivi_compiler_empty_statement.c \
vivi_compiler_get_temporary.c \
vivi_compiler_scanner.c \
- vivi_compiler_scanner_lex.c \
vivi_decompiler_block.c \
vivi_decompiler_duplicate.c \
vivi_decompiler_state.c \
@@ -74,7 +83,6 @@ noinst_HEADERS = \
vivi_compiler_scanner.h \
vivi_compiler_scanner_lex.h \
vivi_compiler_scanner_lex_include.h \
- vivi_compiler_scanner_lex.lex \
vivi_decompiler.h \
vivi_decompiler_block.h \
vivi_decompiler_duplicate.h \
@@ -84,10 +92,6 @@ noinst_HEADERS = \
noinst_PROGRAMS = vivi-decompile vivi-compile
-vivi_compiler_scanner_lex.h: vivi_compiler_scanner_lex.c
-vivi_compiler_scanner_lex.c: vivi_compiler_scanner_lex.lex
- $(LEX) -o vivi_compiler_scanner_lex.c --header-file=vivi_compiler_scanner_lex.h vivi_compiler_scanner_lex.lex
-
vivi_decompile_SOURCES = \
decompiler.c
diff --git a/vivified/code/vivi_compiler_scanner_lex.h b/vivified/code/vivi_compiler_scanner_lex.h
new file mode 100644
index 0000000..fe5fbe7
--- /dev/null
+++ b/vivified/code/vivi_compiler_scanner_lex.h
@@ -0,0 +1,296 @@
+#ifndef yyHEADER_H
+#define yyHEADER_H 1
+#define yyIN_HEADER 1
+
+#line 6 "vivi_compiler_scanner_lex.h"
+
+#line 8 "vivi_compiler_scanner_lex.h"
+
+#define YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 34
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types.
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t;
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX (4294967295U)
+#endif
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else /* ! __cplusplus */
+
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
+
+#endif /* defined (__STDC__) */
+#endif /* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE 16384
+#endif
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+extern int yyleng;
+
+extern FILE *yyin, *yyout;
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ * Given that the standard has decreed that size_t exists since 1989,
+ * I guess we can afford to depend on it. Manoj.
+ */
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ yy_size_t yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ int yy_bs_lineno; /**< The line count. */
+ int yy_bs_column; /**< The column count. */
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+
+ };
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+void yyrestart (FILE *input_file );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
+void yy_delete_buffer (YY_BUFFER_STATE b );
+void yy_flush_buffer (YY_BUFFER_STATE b );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
+void yypop_buffer_state (void );
+
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
+
+void *yyalloc (yy_size_t );
+void *yyrealloc (void *,yy_size_t );
+void yyfree (void * );
+
+/* Begin user sect3 */
+
+extern int yylineno;
+
+extern char *yytext;
+#define yytext_ptr yytext
+
+#ifdef YY_HEADER_EXPORT_START_CONDITIONS
+#define INITIAL 0
+
+#endif
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap (void );
+#else
+extern int yywrap (void );
+#endif
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+#undef YY_NEW_FILE
+#undef YY_FLUSH_BUFFER
+#undef yy_set_bol
+#undef yy_new_buffer
+#undef yy_set_interactive
+#undef YY_DO_BEFORE_ACTION
+
+#ifdef YY_DECL_IS_OURS
+#undef YY_DECL_IS_OURS
+#undef YY_DECL
+#endif
+
+#line 148 "vivi_compiler_scanner_lex.l"
+
+
+#line 295 "vivi_compiler_scanner_lex.h"
+#undef yyIN_HEADER
+#endif /* yyHEADER_H */
diff --git a/vivified/code/vivi_compiler_scanner_lex.l b/vivified/code/vivi_compiler_scanner_lex.l
new file mode 100644
index 0000000..5585d7e
--- /dev/null
+++ b/vivified/code/vivi_compiler_scanner_lex.l
@@ -0,0 +1,150 @@
+%{
+#include "vivi_compiler_scanner_lex_include.h"
+%}
+
+digit [0-9]
+identifier_start [$_a-zA-Z]
+identifier_part [$_a-zA-Z0-9]
+
+/* r'([1-9][0-9]*|0)(\.[0-9]*)?([eE][+-][0-9]+)? */
+/* '\.[0-9]+([eE][+-][0-9]+)?' */
+
+%%
+
+[ \t\n\r] /* skip whitespace */
+<<EOF>> { return TOKEN_EOF; }
+
+"{" { return TOKEN_BRACE_LEFT; }
+"}" { return TOKEN_BRACE_RIGHT; }
+"[" { return TOKEN_BRACKET_LEFT; }
+"]" { return TOKEN_BRACKET_RIGHT; }
+"(" { return TOKEN_PARENTHESIS_LEFT; }
+")" { return TOKEN_PARENTHESIS_RIGHT; }
+
+"." { return TOKEN_DOT; }
+";" { return TOKEN_SEMICOLON; }
+"," { return TOKEN_COMMA; }
+
+"<" { return TOKEN_LESS_THAN; }
+">" { return TOKEN_GREATER_THAN; }
+"<=" { return TOKEN_LESS_THAN_OR_EQUAL; }
+"=>" { return TOKEN_EQUAL_OR_GREATER_THAN; }
+
+"==", { return TOKEN_EQUAL; }
+"!=", { return TOKEN_NOT_EQUAL; }
+"===", { return TOKEN_STRICT_EQUAL; }
+"!==", { return TOKEN_NOT_STRICT_EQUAL; }
+
+"+" { return TOKEN_PLUS; }
+"-" { return TOKEN_MINUS; }
+"*" { return TOKEN_MULTIPLY; }
+"/" { return TOKEN_DIVIDE; }
+"%" { return TOKEN_REMAINDER; }
+
+"<<" { return TOKEN_SHIFT_LEFT; }
+">>" { return TOKEN_SHIFT_RIGHT; }
+">>>" { return TOKEN_SHIFT_RIGHT_UNSIGNED; }
+
+"&" { return TOKEN_BITWISE_AND; }
+"|" { return TOKEN_BITWISE_OR; }
+"^" { return TOKEN_BITWISE_XOR; }
+
+"!" { return TOKEN_LOGICAL_NOT; }
+"~" { return TOKEN_BITWISE_NOT; }
+"++" { return TOKEN_INCREASE; }
+"--" { return TOKEN_DESCREASE; }
+
+"?" { return TOKEN_QUESTION_MARK; }
+":" { return TOKEN_COLON; }
+
+"&&" { return TOKEN_LOGICAL_AND; }
+"||" { return TOKEN_LOGICAL_OR; }
+
+"=" { return TOKEN_ASSIGN; }
+"*=" { return TOKEN_ASSIGN_MULTIPLY; }
+"/=" { return TOKEN_ASSIGN_DIVIDE; }
+"%=" { return TOKEN_ASSIGN_REMAINDER; }
+"+=" { return TOKEN_ASSIGN_ADD; }
+"-=" { return TOKEN_ASSIGN_MINUS; }
+"<<=" { return TOKEN_ASSIGN_SHIFT_LEFT; }
+">>=" { return TOKEN_ASSIGN_SHIFT_RIGHT; }
+">>>=" { return TOKEN_ASSIGN_SHIFT_RIGHT_ZERO; }
+"&=" { return TOKEN_ASSIGN_BITWISE_AND; }
+"^=" { return TOKEN_ASSIGN_BITWISE_XOR; }
+"|=" { return TOKEN_ASSIGN_BITWISE_OR; }
+
+"null" { return TOKEN_NULL; }
+"true" { yylval.v_boolean = 1;
+ return TOKEN_BOOLEAN; }
+"false" { yylval.v_boolean = 0;
+ return TOKEN_BOOLEAN; }
+
+"break" { return TOKEN_BREAK; }
+"case" { return TOKEN_CASE; }
+"catch" { return TOKEN_CATCH; }
+"continue" { return TOKEN_CONTINUE; }
+"default" { return TOKEN_DEFAULT; }
+"delete" { return TOKEN_DELETE; }
+"do" { return TOKEN_DO; }
+"else" { return TOKEN_ELSE; }
+"finally" { return TOKEN_FINALLY; }
+"for" { return TOKEN_FOR; }
+"function" { return TOKEN_FUNCTION; }
+"if" { return TOKEN_IF; }
+"in" { return TOKEN_IN; }
+"instanceof" { return TOKEN_INSTANCEOF; }
+"new" { return TOKEN_NEW; }
+"return" { return TOKEN_RETURN; }
+"switch" { return TOKEN_SWITCH; }
+"this" { return TOKEN_THIS; }
+"throw" { return TOKEN_THROW; }
+"try" { return TOKEN_TRY; }
+"typeof" { return TOKEN_TYPEOF; }
+"var" { return TOKEN_VAR; }
+"void" { return TOKEN_VOID; }
+"with" { return TOKEN_WITH; }
+
+"abstract" { return TOKEN_FUTURE; }
+"boolean" { return TOKEN_FUTURE; }
+"byte" { return TOKEN_FUTURE; }
+"char" { return TOKEN_FUTURE; }
+"class" { return TOKEN_FUTURE; }
+"const" { return TOKEN_FUTURE; }
+"debugger" { return TOKEN_FUTURE; }
+"double" { return TOKEN_FUTURE; }
+"enum" { return TOKEN_FUTURE; }
+"export" { return TOKEN_FUTURE; }
+"extends" { return TOKEN_FUTURE; }
+"final" { return TOKEN_FUTURE; }
+"float" { return TOKEN_FUTURE; }
+"goto" { return TOKEN_FUTURE; }
+"implements" { return TOKEN_FUTURE; }
+"import" { return TOKEN_FUTURE; }
+"int" { return TOKEN_FUTURE; }
+"interface" { return TOKEN_FUTURE; }
+"long" { return TOKEN_FUTURE; }
+"native" { return TOKEN_FUTURE; }
+"package" { return TOKEN_FUTURE; }
+"private" { return TOKEN_FUTURE; }
+"protected" { return TOKEN_FUTURE; }
+"public" { return TOKEN_FUTURE; }
+"short" { return TOKEN_FUTURE; }
+"static" { return TOKEN_FUTURE; }
+"super" { return TOKEN_FUTURE; }
+"synchronized" { return TOKEN_FUTURE; }
+"throws" { return TOKEN_FUTURE; }
+"transient" { return TOKEN_FUTURE; }
+"volatile" { return TOKEN_FUTURE; }
+
+{digit}+ { yylval.v_number = atoi(yytext);
+ return TOKEN_NUMBER; }
+
+{identifier_start}({identifier_part})* {
+ yylval.v_identifier = (char *)strdup(yytext);
+ return TOKEN_IDENTIFIER; }
+
+. { printf("Unknown character [%c]\n",yytext[0]);
+ return TOKEN_UNKNOWN; }
+%%
+
+int yywrap(void){return 1;}
diff --git a/vivified/code/vivi_compiler_scanner_lex.lex b/vivified/code/vivi_compiler_scanner_lex.lex
deleted file mode 100644
index fdcf654..0000000
--- a/vivified/code/vivi_compiler_scanner_lex.lex
+++ /dev/null
@@ -1,147 +0,0 @@
-%{
-#include "vivi_compiler_scanner_lex_include.h"
-%}
-
-digit [0-9]
-identifier_start [$_a-zA-Z]
-identifier_part [$_a-zA-Z0-9]
-
-%%
-
-[ \t\n\r] /* skip whitespace */
-<<EOF>> { return TOKEN_EOF; }
-
-"{" { return TOKEN_BRACE_LEFT; }
-"}" { return TOKEN_BRACE_RIGHT; }
-"[" { return TOKEN_BRACKET_LEFT; }
-"]" { return TOKEN_BRACKET_RIGHT; }
-"(" { return TOKEN_PARENTHESIS_LEFT; }
-")" { return TOKEN_PARENTHESIS_RIGHT; }
-
-"." { return TOKEN_DOT; }
-";" { return TOKEN_SEMICOLON; }
-"," { return TOKEN_COMMA; }
-
-"<" { return TOKEN_LESS_THAN; }
-">" { return TOKEN_GREATER_THAN; }
-"<=" { return TOKEN_LESS_THAN_OR_EQUAL; }
-"=>" { return TOKEN_EQUAL_OR_GREATER_THAN; }
-
-"==", { return TOKEN_EQUAL; }
-"!=", { return TOKEN_NOT_EQUAL; }
-"===", { return TOKEN_STRICT_EQUAL; }
-"!==", { return TOKEN_NOT_STRICT_EQUAL; }
-
-"+" { return TOKEN_PLUS; }
-"-" { return TOKEN_MINUS; }
-"*" { return TOKEN_MULTIPLY; }
-"/" { return TOKEN_DIVIDE; }
-"%" { return TOKEN_REMAINDER; }
-
-"<<" { return TOKEN_SHIFT_LEFT; }
-">>" { return TOKEN_SHIFT_RIGHT; }
-">>>" { return TOKEN_SHIFT_RIGHT_UNSIGNED; }
-
-"&" { return TOKEN_BITWISE_AND; }
-"|" { return TOKEN_BITWISE_OR; }
-"^" { return TOKEN_BITWISE_XOR; }
-
-"!" { return TOKEN_LOGICAL_NOT; }
-"~" { return TOKEN_BITWISE_NOT; }
-"++" { return TOKEN_INCREASE; }
-"--" { return TOKEN_DESCREASE; }
-
-"?" { return TOKEN_QUESTION_MARK; }
-":" { return TOKEN_COLON; }
-
-"&&" { return TOKEN_LOGICAL_AND; }
-"||" { return TOKEN_LOGICAL_OR; }
-
-"=" { return TOKEN_ASSIGN; }
-"*=" { return TOKEN_ASSIGN_MULTIPLY; }
-"/=" { return TOKEN_ASSIGN_DIVIDE; }
-"%=" { return TOKEN_ASSIGN_REMAINDER; }
-"+=" { return TOKEN_ASSIGN_ADD; }
-"-=" { return TOKEN_ASSIGN_MINUS; }
-"<<=" { return TOKEN_ASSIGN_SHIFT_LEFT; }
-">>=" { return TOKEN_ASSIGN_SHIFT_RIGHT; }
-">>>=" { return TOKEN_ASSIGN_SHIFT_RIGHT_ZERO; }
-"&=" { return TOKEN_ASSIGN_BITWISE_AND; }
-"^=" { return TOKEN_ASSIGN_BITWISE_XOR; }
-"|=" { return TOKEN_ASSIGN_BITWISE_OR; }
-
-"null" { return TOKEN_NULL; }
-"true" { yylval.v_boolean = 1;
- return TOKEN_BOOLEAN; }
-"false" { yylval.v_boolean = 0;
- return TOKEN_BOOLEAN; }
-
-"break" { return TOKEN_BREAK; }
-"case" { return TOKEN_CASE; }
-"catch" { return TOKEN_CATCH; }
-"continue" { return TOKEN_CONTINUE; }
-"default" { return TOKEN_DEFAULT; }
-"delete" { return TOKEN_DELETE; }
-"do" { return TOKEN_DO; }
-"else" { return TOKEN_ELSE; }
-"finally" { return TOKEN_FINALLY; }
-"for" { return TOKEN_FOR; }
-"function" { return TOKEN_FUNCTION; }
-"if" { return TOKEN_IF; }
-"in" { return TOKEN_IN; }
-"instanceof" { return TOKEN_INSTANCEOF; }
-"new" { return TOKEN_NEW; }
-"return" { return TOKEN_RETURN; }
-"switch" { return TOKEN_SWITCH; }
-"this" { return TOKEN_THIS; }
-"throw" { return TOKEN_THROW; }
-"try" { return TOKEN_TRY; }
-"typeof" { return TOKEN_TYPEOF; }
-"var" { return TOKEN_VAR; }
-"void" { return TOKEN_VOID; }
-"with" { return TOKEN_WITH; }
-
-"abstract" { return TOKEN_FUTURE; }
-"boolean" { return TOKEN_FUTURE; }
-"byte" { return TOKEN_FUTURE; }
-"char" { return TOKEN_FUTURE; }
-"class" { return TOKEN_FUTURE; }
-"const" { return TOKEN_FUTURE; }
-"debugger" { return TOKEN_FUTURE; }
-"double" { return TOKEN_FUTURE; }
-"enum" { return TOKEN_FUTURE; }
-"export" { return TOKEN_FUTURE; }
-"extends" { return TOKEN_FUTURE; }
-"final" { return TOKEN_FUTURE; }
-"float" { return TOKEN_FUTURE; }
-"goto" { return TOKEN_FUTURE; }
-"implements" { return TOKEN_FUTURE; }
-"import" { return TOKEN_FUTURE; }
-"int" { return TOKEN_FUTURE; }
-"interface" { return TOKEN_FUTURE; }
-"long" { return TOKEN_FUTURE; }
-"native" { return TOKEN_FUTURE; }
-"package" { return TOKEN_FUTURE; }
-"private" { return TOKEN_FUTURE; }
-"protected" { return TOKEN_FUTURE; }
-"public" { return TOKEN_FUTURE; }
-"short" { return TOKEN_FUTURE; }
-"static" { return TOKEN_FUTURE; }
-"super" { return TOKEN_FUTURE; }
-"synchronized" { return TOKEN_FUTURE; }
-"throws" { return TOKEN_FUTURE; }
-"transient" { return TOKEN_FUTURE; }
-"volatile" { return TOKEN_FUTURE; }
-
-{digit}+ { yylval.v_number = atoi(yytext);
- return TOKEN_NUMBER; }
-
-{identifier_start}({identifier_part})* {
- yylval.v_identifier = (char *)strdup(yytext);
- return TOKEN_IDENTIFIER; }
-
-. { printf("Unknown character [%c]\n",yytext[0]);
- return TOKEN_UNKNOWN; }
-%%
-
-int yywrap(void){return 1;}
More information about the Swfdec-commits
mailing list