IDENT syntax now includes ASCII letters and underscores, so
'.foo_bar' now works. Non-ASCII letters won't work in IDENT
tokens (it's impossible to tell which non-ascii characters are
"letters" without full unicode tables), so '.données' is still
a syntax error (the workaround is '.["données"]', since you can
put anything you like in a string).
}
-[[:alnum:]]+ { yylval->literal = jv_string(yytext); return IDENT;}
+[a-zA-Z_][a-zA-Z_0-9]* { yylval->literal = jv_string(yytext); return IDENT;}
[ \n\t]+ {}
{"foo": {"bar": 42}, "bar": "badvalue"}
42
+.foo_bar
+{"foo_bar": 2}
+2
+
.["foo"].bar
{"foo": {"bar": 42}, "bar": "badvalue"}
42