[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