diff --git a/giscanner/scannerlexer.l b/giscanner/scannerlexer.l
index e06bc85..68a8346 100644
--- a/giscanner/scannerlexer.l
+++ b/giscanner/scannerlexer.l
@@ -107,6 +107,7 @@ stringtext				([^\\\"])|(\\.)
 "|"					{ return '|'; }
 "~"					{ return '~'; }
 "!"					{ return '!'; }
+"@"					{ return '@'; }
 "="					{ return '='; }
 "<"					{ return '<'; }
 ">"					{ return '>'; }
@@ -198,6 +199,7 @@ stringtext				([^\\\"])|(\\.)
 
 "\""{stringtext}*"\""			{ return STRING; }
 "L\""{stringtext}*"\""			{ return STRING; }
+"@\""{stringtext}*"\""			{ return STRING; }
 
 .					{ if (yytext[0]) fprintf(stderr, "%s:%d: unexpected character `%c'\n", scanner->current_filename, lineno, yytext[0]); }
 
