summaryrefslogtreecommitdiff
path: root/giscanner/scannerlexer.l
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2013-11-29 01:12:40 +0100
committerFlorian Müllner <fmuellner@gnome.org>2013-11-29 18:45:31 +0000
commite4efb97c8a20f5dcbf6cd2736bd5bcd92e1d814d (patch)
treebaa632338c6712a1582fe0711d4c46e4f2a13637 /giscanner/scannerlexer.l
parent9112ec1e845015a17bba49fb1dd385a2c6e9efd7 (diff)
downloadgobject-introspection-e4efb97c8a20f5dcbf6cd2736bd5bcd92e1d814d.tar.gz
scanner: Support boolean constants
Aliasing TRUE or FALSE is not very common, but done occasionally for extra clarity. Namely G_SOURCE_REMOVE / G_SOURCE_CONTINUE are self-explanatory, unlike the "raw" booleans. https://bugzilla.gnome.org/show_bug.cgi?id=719566
Diffstat (limited to 'giscanner/scannerlexer.l')
-rw-r--r--giscanner/scannerlexer.l6
1 files changed, 6 insertions, 0 deletions
diff --git a/giscanner/scannerlexer.l b/giscanner/scannerlexer.l
index 89a34b88..413bd98a 100644
--- a/giscanner/scannerlexer.l
+++ b/giscanner/scannerlexer.l
@@ -169,6 +169,12 @@ stringtext ([^\\\"])|(\\.)
"G_GINT64_CONSTANT" { return INTL_CONST; }
"G_GUINT64_CONSTANT" { return INTUL_CONST; }
+
+"TRUE" { return BOOLEAN; }
+"FALSE" { return BOOLEAN; }
+"true" { return BOOLEAN; }
+"false" { return BOOLEAN; }
+
[a-zA-Z_][a-zA-Z_0-9]* { if (scanner->macro_scan) return check_identifier(scanner, yytext); else REJECT; }
"asm" { if (!parse_ignored_macro()) REJECT; }