xref: /netbsd-src/external/bsd/flex/dist/tests/extended.l (revision 56bd85463476f90bb489799c99292bb30d6771c0)
130da1778Schristos /*
230da1778Schristos  * This file is part of flex.
330da1778Schristos  *
430da1778Schristos  * Redistribution and use in source and binary forms, with or without
530da1778Schristos  * modification, are permitted provided that the following conditions
630da1778Schristos  * are met:
730da1778Schristos  *
830da1778Schristos  * 1. Redistributions of source code must retain the above copyright
930da1778Schristos  *    notice, this list of conditions and the following disclaimer.
1030da1778Schristos  * 2. Redistributions in binary form must reproduce the above copyright
1130da1778Schristos  *    notice, this list of conditions and the following disclaimer in the
1230da1778Schristos  *    documentation and/or other materials provided with the distribution.
1330da1778Schristos  *
1430da1778Schristos  * Neither the name of the University nor the names of its contributors
1530da1778Schristos  * may be used to endorse or promote products derived from this software
1630da1778Schristos  * without specific prior written permission.
1730da1778Schristos  *
1830da1778Schristos  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
1930da1778Schristos  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
2030da1778Schristos  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
2130da1778Schristos  * PURPOSE.
2230da1778Schristos  */
2330da1778Schristos 
2430da1778Schristos %{
2530da1778Schristos /* This test is for correctness of extended (?...) patterns. */
2630da1778Schristos 
2730da1778Schristos #include <stdio.h>
2830da1778Schristos #include <stdlib.h>
2930da1778Schristos #include "config.h"
3030da1778Schristos 
3130da1778Schristos %}
3230da1778Schristos 
3330da1778Schristos %option 8bit prefix="test"
3430da1778Schristos %option nounput nomain noyywrap noinput
3530da1778Schristos %option warn
3630da1778Schristos 
3730da1778Schristos 
3830da1778Schristos %%
3930da1778Schristos 
4030da1778Schristos     /* Output should match the input. */
4130da1778Schristos 
4230da1778Schristos abc(?# Single Line Comment )def    ECHO;
4330da1778Schristos ghi(?#
4430da1778Schristos     multi-line
4530da1778Schristos     comment
4630da1778Schristos     )jkl                           ECHO;
4730da1778Schristos 
4830da1778Schristos mno(?#
4930da1778Schristos     multi-line //
5030da1778Schristos     comment with ##
5130da1778Schristos     ~~!@#$ %^&*(@-_+=\|,.<>/ ?: ;
5230da1778Schristos     punctuation
5330da1778Schristos     )pqr                           ECHO;
5430da1778Schristos (?# Start of a rule.)stu           ECHO;
5530da1778Schristos vwxyz(?#End of a rule.)            ECHO;
5630da1778Schristos A(?x: B
5730da1778Schristos     /* comment */
5830da1778Schristos     C D)                           ECHO;
5930da1778Schristos 
6030da1778Schristos \n                                 ECHO;
6130da1778Schristos %%
6230da1778Schristos 
6330da1778Schristos int main(void);
6430da1778Schristos 
6530da1778Schristos int
66*56bd8546Schristos main (void)
6730da1778Schristos {
6830da1778Schristos     yyin = stdin;
6930da1778Schristos     yyout = stdout;
7030da1778Schristos     yylex();
7130da1778Schristos     //printf("TEST RETURNING OK.\n");
7230da1778Schristos     return 0;
7330da1778Schristos }
74