[Swfdec-commits] 5 commits - vivified/code
Benjamin Otte
company at kemper.freedesktop.org
Fri Apr 25 10:19:23 PDT 2008
vivified/code/vivi_parser_scanner.c | 17 +++++++++--------
vivified/code/vivi_parser_scanner.h | 8 ++++----
vivified/code/vivi_parser_scanner_lex.l | 7 +++++++
3 files changed, 20 insertions(+), 12 deletions(-)
New commits:
commit a205bfa8427ec8810c1232d706d91ffd9ef34a19
Author: Benjamin Otte <otte at gnome.org>
Date: Fri Apr 25 19:19:03 2008 +0200
comment out our most impressive debug print
diff --git a/vivified/code/vivi_parser_scanner.c b/vivified/code/vivi_parser_scanner.c
index 8899167..a73b930 100644
--- a/vivified/code/vivi_parser_scanner.c
+++ b/vivified/code/vivi_parser_scanner.c
@@ -239,9 +239,11 @@ vivi_parser_scanner_advance (ViviParserScanner *scanner)
value->line_terminator = FALSE;
value->position = 0; /* FIXME */
value->token = vivi_parser_scanner_lex (scanner->scanner, value);
+#if 0
g_print ("%u:%u %c %s\n", value->line_number, value->column,
value->line_terminator ? '+' : '-',
vivi_parser_scanner_token_name (value->token));
+#endif
value->line_number = vivi_parser_scanner_get_lineno (scanner->scanner);
}
}
commit e6c9603efc532796a3028be2682ee7d3b6092b73
Author: Benjamin Otte <otte at gnome.org>
Date: Fri Apr 25 19:17:47 2008 +0200
parse line terminators in comments
diff --git a/vivified/code/vivi_parser_scanner.c b/vivified/code/vivi_parser_scanner.c
index 54bab03..8899167 100644
--- a/vivified/code/vivi_parser_scanner.c
+++ b/vivified/code/vivi_parser_scanner.c
@@ -239,7 +239,8 @@ vivi_parser_scanner_advance (ViviParserScanner *scanner)
value->line_terminator = FALSE;
value->position = 0; /* FIXME */
value->token = vivi_parser_scanner_lex (scanner->scanner, value);
- g_print ("%u:%u - %s\n", value->line_number, value->column,
+ g_print ("%u:%u %c %s\n", value->line_number, value->column,
+ value->line_terminator ? '+' : '-',
vivi_parser_scanner_token_name (value->token));
value->line_number = vivi_parser_scanner_get_lineno (scanner->scanner);
}
diff --git a/vivified/code/vivi_parser_scanner.h b/vivified/code/vivi_parser_scanner.h
index af18be0..cc39a65 100644
--- a/vivified/code/vivi_parser_scanner.h
+++ b/vivified/code/vivi_parser_scanner.h
@@ -156,8 +156,8 @@ typedef struct {
} value;
gboolean line_terminator;
guint line_number;
- guint column;
- gsize position;
+ guint column; /* FIXME: not supported by flex */
+ gsize position; /* FIXME: neither supported by flex nor us */
} ViviParserValue;
typedef void (*ViviParserScannerFunction) (const char *text, gpointer user_data);
diff --git a/vivified/code/vivi_parser_scanner_lex.l b/vivified/code/vivi_parser_scanner_lex.l
index d0b002e..dde4fec 100644
--- a/vivified/code/vivi_parser_scanner_lex.l
+++ b/vivified/code/vivi_parser_scanner_lex.l
@@ -57,6 +57,7 @@ identifier_part [$_a-zA-Z0-9]
<comment>{
"*/" { BEGIN(INITIAL); }
. { /* skip */ }
+ \n { value->line_terminator = TRUE; }
<<EOF>> {
BEGIN(INITIAL);
ERROR ("Unterminated comment");
commit fee31322454f840789e831a17666606507e9b0aa
Author: Benjamin Otte <otte at gnome.org>
Date: Fri Apr 25 19:09:20 2008 +0200
use option warn
diff --git a/vivified/code/vivi_parser_scanner_lex.l b/vivified/code/vivi_parser_scanner_lex.l
index f209e76..d0b002e 100644
--- a/vivified/code/vivi_parser_scanner_lex.l
+++ b/vivified/code/vivi_parser_scanner_lex.l
@@ -42,6 +42,7 @@ static GString *string = NULL;
%option outfile="vivi_parser_scanner_lex.c"
%option prefix="vivi_parser_scanner_"
%option reentrant
+%option warn
%option yylineno
identifier_start [$_a-zA-Z]
commit 5ce63b53a0d6a9ed9c79169f99c719264c85ff96
Author: Benjamin Otte <otte at gnome.org>
Date: Fri Apr 25 19:01:06 2008 +0200
make columns 1-indexed
so we don't get them printed as long as flex doesn't support them
diff --git a/vivified/code/vivi_parser_scanner.c b/vivified/code/vivi_parser_scanner.c
index 7eddce5..54bab03 100644
--- a/vivified/code/vivi_parser_scanner.c
+++ b/vivified/code/vivi_parser_scanner.c
@@ -304,12 +304,11 @@ vivi_parser_scanner_peek_next_token (ViviParserScanner *scanner)
void
vivi_parser_scanner_error (ViviParserScanner *scanner,
- guint line, int column, const char *format, ...)
+ guint line, guint column, const char *format, ...)
{
va_list args;
g_return_if_fail (VIVI_IS_PARSER_SCANNER (scanner));
- g_return_if_fail (column >= -1);
g_return_if_fail (format != NULL);
va_start (args, format);
@@ -319,17 +318,16 @@ vivi_parser_scanner_error (ViviParserScanner *scanner,
void
vivi_parser_scanner_errorv (ViviParserScanner *scanner,
- guint line, int column, const char *format, va_list args)
+ guint line, guint column, const char *format, va_list args)
{
char *message;
g_return_if_fail (VIVI_IS_PARSER_SCANNER (scanner));
- g_return_if_fail (column >= -1);
g_return_if_fail (format != NULL);
message = g_strdup_vprintf (format, args);
- if (column >= 0) {
+ if (column > 0) {
g_printerr ("%u,%i: error: %s\n", line, column, message);
} else {
g_printerr ("%u: error: %s\n", line, message);
diff --git a/vivified/code/vivi_parser_scanner.h b/vivified/code/vivi_parser_scanner.h
index d731f3b..af18be0 100644
--- a/vivified/code/vivi_parser_scanner.h
+++ b/vivified/code/vivi_parser_scanner.h
@@ -205,12 +205,12 @@ const ViviParserValue * vivi_parser_scanner_get_value (ViviParserScanner * sca
void vivi_parser_scanner_error (ViviParserScanner * scanner,
guint line,
- int column,
+ guint column,
const char * format,
...) G_GNUC_PRINTF (4, 5);
void vivi_parser_scanner_errorv (ViviParserScanner * scanner,
guint line,
- int column,
+ guint column,
const char * format,
va_list args);
commit 40ffe391f300e526a47c23faaf6f12b7606d6b81
Author: Benjamin Otte <otte at gnome.org>
Date: Fri Apr 25 18:59:43 2008 +0200
make flex handle line numbers
column numbers are unsupported in the current Bison version
diff --git a/vivified/code/vivi_parser_scanner.c b/vivified/code/vivi_parser_scanner.c
index d8fd5f7..7eddce5 100644
--- a/vivified/code/vivi_parser_scanner.c
+++ b/vivified/code/vivi_parser_scanner.c
@@ -237,11 +237,11 @@ vivi_parser_scanner_advance (ViviParserScanner *scanner)
value->line_terminator = FALSE;
} else {
value->line_terminator = FALSE;
+ value->position = 0; /* FIXME */
value->token = vivi_parser_scanner_lex (scanner->scanner, value);
- g_print ("got %s\n", vivi_parser_scanner_token_name (value->token));
+ g_print ("%u:%u - %s\n", value->line_number, value->column,
+ vivi_parser_scanner_token_name (value->token));
value->line_number = vivi_parser_scanner_get_lineno (scanner->scanner);
- value->column = 0; /* FIXME */
- value->position = 0; /* FIXME */
}
}
diff --git a/vivified/code/vivi_parser_scanner_lex.l b/vivified/code/vivi_parser_scanner_lex.l
index 0b66919..f209e76 100644
--- a/vivified/code/vivi_parser_scanner_lex.l
+++ b/vivified/code/vivi_parser_scanner_lex.l
@@ -29,6 +29,10 @@ extern YY_DECL;
%{
static GString *string = NULL;
#define ERROR(...) vivi_parser_scanner_error (yyextra, yylineno, yycolumn, __VA_ARGS__)
+
+#define YY_USER_ACTION \
+ value->line_number = yylineno; \
+ value->column = yycolumn;
%}
%option header-file="vivi_parser_scanner_lex.h"
@@ -38,6 +42,7 @@ static GString *string = NULL;
%option outfile="vivi_parser_scanner_lex.c"
%option prefix="vivi_parser_scanner_"
%option reentrant
+%option yylineno
identifier_start [$_a-zA-Z]
identifier_part [$_a-zA-Z0-9]
More information about the Swfdec-commits
mailing list