diff --git a/hidl-gen_l.ll b/hidl-gen_l.ll
index 5dd3c85..5945df9 100644
--- a/hidl-gen_l.ll
+++ b/hidl-gen_l.ll
@@ -23,9 +23,9 @@
 
 COMPONENT               {L}({L}|{D})*
 DOT                     [.]
-PATH                    {COMPONENT}({DOT}{COMPONENT})*
 AT                      [@]
 VERSION                 {AT}{D}+{DOT}{D}+
+FQNAME                  ({COMPONENT}|{VERSION})(({DOT}|":"+){COMPONENT}|{VERSION})*
 
 %{
 
@@ -157,15 +157,8 @@
 "?"			{ return('?'); }
 "@"			{ return('@'); }
 
-{PATH}{VERSION}"::"{PATH}       { yylval->str = strdup(yytext); return token::FQNAME; }
-{VERSION}"::"{PATH}             { yylval->str = strdup(yytext); return token::FQNAME; }
-{PATH}{VERSION}                 { yylval->str = strdup(yytext); return token::FQNAME; }
-{COMPONENT}({DOT}{COMPONENT})+  { yylval->str = strdup(yytext); return token::FQNAME; }
 {COMPONENT}                     { yylval->str = strdup(yytext); return token::IDENTIFIER; }
-
-{PATH}{VERSION}"::"{PATH}":"{COMPONENT}       { yylval->str = strdup(yytext); return token::FQNAME; }
-{VERSION}"::"{PATH}":"{COMPONENT}             { yylval->str = strdup(yytext); return token::FQNAME; }
-{PATH}":"{COMPONENT}                          { yylval->str = strdup(yytext); return token::FQNAME; }
+{FQNAME}                        { yylval->str = strdup(yytext); return token::FQNAME; }
 
 0[xX]{H}+{IS}?		{ yylval->str = strdup(yytext); return token::INTEGER; }
 0{D}+{IS}?		{ yylval->str = strdup(yytext); return token::INTEGER; }
diff --git a/hidl-gen_y.yy b/hidl-gen_y.yy
index 56bb605..35f7405 100644
--- a/hidl-gen_y.yy
+++ b/hidl-gen_y.yy
@@ -904,7 +904,9 @@
           $$ = $2;
 
           if ($$ != NULL && !$$->isValidEnumStorageType()) {
-              std::cerr << "ERROR: Invalid enum storage type specified. at "
+              std::cerr << "ERROR: Invalid enum storage type ("
+                        << $2->typeName()
+                        << ") specified. at "
                         << @2 << "\n";
 
               YYERROR;
diff --git a/main.cpp b/main.cpp
index 7c529a9..b7d5a96 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1367,6 +1367,12 @@
     argc -= optind;
     argv += optind;
 
+    if (argc == 0) {
+        fprintf(stderr, "ERROR: no fqname specified.\n");
+        usage(me);
+        exit(1);
+    }
+
     if (rootPath.empty()) {
         const char *ANDROID_BUILD_TOP = getenv("ANDROID_BUILD_TOP");
 
