flex/tests/lexcompat.rules
2020-11-01 12:55:35 -05:00

39 lines
1.3 KiB
Plaintext

/*
* This file is part of flex.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/*
* Test Lex compatibility. This is the compatibility example from
* the documentation; with lex-compat it should *not* match the string
* "foo". For the complementary test, see flexname.rules.
*/
%option nounput nomain noyywrap noinput
%option warn lex-compat
NAME [A-Z][A-Z0-9]*
%%
foo{NAME}? {M4_TEST_FAILMESSAGE}
\n {M4_TEST_DO(yyecho())}
. {M4_TEST_DO(yyecho())}
###
foo