scan.l (101867) | scan.l (102299) |
---|---|
1%x string name charmap defn nchar subs subs2 2%{ 3/*- 4 * Copyright (c) 1995 Alex Tatmanjants <alex@elvisti.kiev.ua> 5 * at Electronni Visti IA, Kiev, Ukraine. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 14 unchanged lines hidden (view full) --- 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30#include <sys/cdefs.h> | 1%x string name charmap defn nchar subs subs2 2%{ 3/*- 4 * Copyright (c) 1995 Alex Tatmanjants <alex@elvisti.kiev.ua> 5 * at Electronni Visti IA, Kiev, Ukraine. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 14 unchanged lines hidden (view full) --- 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30#include <sys/cdefs.h> |
31__FBSDID("$FreeBSD: head/usr.bin/colldef/scan.l 101867 2002-08-14 11:59:57Z ache $"); | 31__FBSDID("$FreeBSD: head/usr.bin/colldef/scan.l 102299 2002-08-23 04:18:26Z ache $"); |
32 33#include <ctype.h> 34#include <err.h> 35#include <limits.h> 36#include <unistd.h> 37#include <string.h> 38#include <sysexits.h> 39#include "common.h" --- 18 unchanged lines hidden (view full) --- 58<INITIAL>\\\n line_no++; 59<INITIAL,nchar,subs>\\t { yylval.ch = '\t'; return CHAR; } 60<INITIAL,nchar,subs>\\n { yylval.ch = '\n'; return CHAR; } 61<INITIAL,nchar,subs>\\b { yylval.ch = '\b'; return CHAR; } 62<INITIAL,nchar,subs>\\f { yylval.ch = '\f'; return CHAR; } 63<INITIAL,nchar,subs>\\v { yylval.ch = '\v'; return CHAR; } 64<INITIAL,nchar,subs>\\r { yylval.ch = '\r'; return CHAR; } 65<INITIAL,nchar,subs>\\a { yylval.ch = '\a'; return CHAR; } | 32 33#include <ctype.h> 34#include <err.h> 35#include <limits.h> 36#include <unistd.h> 37#include <string.h> 38#include <sysexits.h> 39#include "common.h" --- 18 unchanged lines hidden (view full) --- 58<INITIAL>\\\n line_no++; 59<INITIAL,nchar,subs>\\t { yylval.ch = '\t'; return CHAR; } 60<INITIAL,nchar,subs>\\n { yylval.ch = '\n'; return CHAR; } 61<INITIAL,nchar,subs>\\b { yylval.ch = '\b'; return CHAR; } 62<INITIAL,nchar,subs>\\f { yylval.ch = '\f'; return CHAR; } 63<INITIAL,nchar,subs>\\v { yylval.ch = '\v'; return CHAR; } 64<INITIAL,nchar,subs>\\r { yylval.ch = '\r'; return CHAR; } 65<INITIAL,nchar,subs>\\a { yylval.ch = '\a'; return CHAR; } |
66<INITIAL,nchar,subs>\\. { yylval.ch = yytext[1]; return CHAR; } | |
67<subs2>\n { 68 line_no++; 69 BEGIN(INITIAL); 70 return '\n'; 71} 72<INITIAL,nchar>\n { 73 line_no++; 74 if (map_fp != NULL) { --- 10 unchanged lines hidden (view full) --- 85<INITIAL>;[ \t]*\.\.\.[ \t]*; return RANGE; 86<INITIAL,nchar,subs>\\[0-7]{3} { 87 u_int v; 88 89 sscanf(&yytext[1], "%o", &v); 90 yylval.ch = (u_char)v; 91 return CHAR; 92} | 66<subs2>\n { 67 line_no++; 68 BEGIN(INITIAL); 69 return '\n'; 70} 71<INITIAL,nchar>\n { 72 line_no++; 73 if (map_fp != NULL) { --- 10 unchanged lines hidden (view full) --- 84<INITIAL>;[ \t]*\.\.\.[ \t]*; return RANGE; 85<INITIAL,nchar,subs>\\[0-7]{3} { 86 u_int v; 87 88 sscanf(&yytext[1], "%o", &v); 89 yylval.ch = (u_char)v; 90 return CHAR; 91} |
93<INITIAL,nchar,subs>\\x[0-9a-z]{2} { | 92<INITIAL,nchar,subs>\\x[0-9a-fA-F]{2} { |
94 u_int v; 95 96 sscanf(&yytext[2], "%x", &v); 97 yylval.ch = (u_char)v; 98 return CHAR; 99} | 93 u_int v; 94 95 sscanf(&yytext[2], "%x", &v); 96 yylval.ch = (u_char)v; 97 return CHAR; 98} |
100<INITIAL>[^;,{}() \t\n"<]+ { 101 if(yyleng == 1) { 102 yylval.ch = *yytext; 103 return CHAR; 104 } 105 if(yyleng > BUFSIZE - 1) 106 errx(EX_UNAVAILABLE, "chain buffer overflow near line %u", 107 line_no); 108 strcpy(yylval.str, yytext); 109 return CHAIN; 110} 111<nchar,subs>. { 112 yylval.ch = *yytext; 113 return CHAR; 114} | 99<INITIAL,nchar,subs>\\. { yylval.ch = yytext[1]; return CHAR; } 100<INITIAL,nchar,subs>. { yylval.ch = *yytext; return CHAR; } |
115<defn>^#.*\n line_no++; 116<defn>[ \t]+ { 117 if (ptr == buf) 118 errx(EX_UNAVAILABLE, "map expected near line %u of %s", 119 line_no, map_name); 120 *ptr = '\0'; 121 strcpy(yylval.str, buf); 122 BEGIN(nchar); --- 178 unchanged lines hidden --- | 101<defn>^#.*\n line_no++; 102<defn>[ \t]+ { 103 if (ptr == buf) 104 errx(EX_UNAVAILABLE, "map expected near line %u of %s", 105 line_no, map_name); 106 *ptr = '\0'; 107 strcpy(yylval.str, buf); 108 BEGIN(nchar); --- 178 unchanged lines hidden --- |