mirror of
https://github.com/westes/flex.git
synced 2026-01-28 02:14:45 +00:00
We a ruleset test for BOL matching and a test for the array case of yymore. Improve yymore testing by adding tests that require a BOL match in both array and pointer cases. Also, convert lineno sporadic test to be ruleset-based so it's applied on all back ends. No cide changes.
37 lines
1.3 KiB
Plaintext
37 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 yymore with array buffer representation. What should happen is:
|
|
* 1. "foo" is matched by the first rule but not consumed.
|
|
* 2. "bar" is matched, but the token length is 6 rather than 3.
|
|
* Also see the yymorearraybol ruleset.
|
|
*/
|
|
|
|
%array
|
|
%option nounput noyywrap noyylineno warn noinput
|
|
%%
|
|
foo {M4_TEST_DO(yymore())}
|
|
bar {M4_TEST_ASSERT(yyleng == 6)}
|
|
###
|
|
foobar
|