/*
* Copyright (C) 2016 Andre Noll <maan@tuebingen.mpg.de>
*
- * Licensed under the LGPL v3, see http://www.gnu.org/licenses/lgpl-3.0.html
+ * Licensed under the LGPL v3, see https://www.gnu.org/licenses/lgpl-3.0.html
*/
/* We don't want symbols to clash with those of other flex users. */
%s SC_SCANNING
IDENTIFIER [a-zA-Z]+[a-zA-Z0-9_-]*
-EQUALS [[:space:]]*=[[:space:]]*
+EQUALS [[:blank:]]*=[[:blank:]]*
OPTION [a-zA-Z]+[a-zA-Z0-9_-]*
%{
%%
/* skip comments and whitespace */
-^[[:space:]]*#.*\n ;
-[[:space:]]|\n+ ;
+^[[:blank:]]*#.*\n ;
+[[:blank:]]|\n+ ;
-<INITIAL,SC_SCANNING>\[[[:space:]]*{IDENTIFIER}[[:space:]]*\][[:space:]]*\n {
+<INITIAL,SC_SCANNING>\[[[:blank:]]*{IDENTIFIER}[[:blank:]]*\][[:blank:]]*\n {
int i, j;
const char *subcmd = yyget_extra(yyscanner)->subcmd;
BEGIN(SC_SCANNING);
}
-<SC_SCANNING>{OPTION}[[:space:]]*\n add_option(yyscanner);
+<SC_SCANNING>{OPTION}[[:blank:]]*\n add_option(yyscanner);
-<SC_SCANNING>{OPTION}({EQUALS}|[[:space:]]+) {
+<SC_SCANNING>{OPTION}({EQUALS}|[[:blank:]]+) {
int ret = add_option(yyscanner);
if (ret < 0)
if (errctx) {
*errctx = malloc(100);
if (*errctx)
- sprintf(*errctx, "error at line %d",
- yyget_lineno(yyscanner));
+ sprintf(*errctx, "yylex error");
}
}
yy_delete_buffer(yybs, yyscanner);
}
#if 0
+/* flex -o t.c config_file.l && cc -o tcf t.c */
int main(void)
{
char buf[100 * 1024];
exit(EXIT_FAILURE);
argc = ret;
for (i = 0; i < argc; i++)
- printf("argv[%d]: %s\n", i, rargv[i]);
+ printf("argv[%d]: %s\n", i, argv[i]);
return EXIT_SUCCESS;
}
#endif