The R Project SVN R-packages

Rev

Rev 5994 | Rev 5998 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5994 Rev 5995
Line 41... Line 41...
41
size_t utf8strlenRd(const char * _s);
41
size_t utf8strlenRd(const char * _s);
42
size_t yyuoffset, yyuleng;
42
size_t yyuoffset, yyuleng;
43
 
43
 
44
//keep track of the current utf-8 character (not byte) offset and token length
44
//keep track of the current utf-8 character (not byte) offset and token length
45
#define YY_USER_ACTION { yyuoffset += yyuleng; yyuleng = utf8strlenRd(yytext); }
45
#define YY_USER_ACTION { yyuoffset += yyuleng; yyuleng = utf8strlenRd(yytext); }
-
 
46
//ignore the output of unmatched characters
-
 
47
#define ECHO {}
46
%}
48
%}
47
%option prefix="rd"
49
%option prefix="rd"
48
%option noyywrap
50
%option noyywrap
49
%option nounput
51
%option nounput
50
%option case-sensitive
52
%option case-sensitive
51
 
53
 
52
%%
-
 
53
 
54
 
-
 
55
s				[ \t\n\r]+
-
 
56
break			[^a-zA-Z_0-9À-゚]
54
 
57
 
-
 
58
section		\\(s(ynopsis|ource|e(ction|ealso))|Rd(Opts|version)|n(ote|ame)|concept|title|Sexpr|d(ocType|e(scription|tails))|usage|e(ncoding|xamples)|value|keyword|format|a(uthor|lias|rguments)|references)
-
 
59
macrowarg	\\(s(trong|ubsection|pecial|amp|Quote)|href|newcommand|c(ite|o(de|mmand))|t(estonly|abular)|i(tem(ize)?|f(else)?)|S(3method|4method)|o(ut|ption)|d(ont(show|test|run)|e(scribe|qn)|fn|Quote)|url|p(kg|reformatted)|e(n(c|d|umerate|v)|qn|m(ph|ail))|v(erb|ar)|kbd|file|link(S4class)?|acronym|renewcommand|method|b(old|egin))
-
 
60
macrowoarg	\\(R|cr|tab|dots|l(dots|eft)|right|ge)
-
 
61
macrogen		\\[a-zA-Z0-9]+
55
 
62
 
56
%[^\n\r]*(\n|\r)?			{ return 0; }								/* % Comments                     */
-
 
-
 
63
%%
57
 
64
 
58
 
65
 
59
 
66
 
-
 
67
%[^\n\r]*(\n|\r)?						{ return RDPT_COMMENT; }				/* % Comments                     */
-
 
68
{section}/\{							{ return RDPT_SECTION; }				/* section macros                 */
-
 
69
\\Sexpr/\[								{ return RDPT_SECTION; }				/* section macros                 */
-
 
70
{macrowarg}/\{							{ return RDPT_MACRO_ARG; }				/* macros with arguments          */
-
 
71
\\link/\[								{ return RDPT_MACRO_ARG; }				/* macros with arguments          */
-
 
72
{macrowoarg}/(\\|{s}|%|{break})	{ return RDPT_MACRO_ARG; }				/* macros without arguments       */
-
 
73
{macrogen}								{ return RDPT_MACRO_GEN; }				/* unknown macros                 */
60
 
74
 
61
<<EOF>>   						{
75
<<EOF>>   						{
62
	BEGIN(INITIAL);   /* make sure we return to initial state when finished! */
76
	BEGIN(INITIAL);   /* make sure we return to initial state when finished! */
63
	yy_delete_buffer(YY_CURRENT_BUFFER);
77
	yy_delete_buffer(YY_CURRENT_BUFFER);
64
	return 0;
78
	return 0;
Line 117... Line 131...
117
	
131
	
118
done:
132
done:
119
	return ((s - _s) - count);
133
	return ((s - _s) - count);
120
}
134
}
121
 
135
 
-
 
136
/*
-
 
137
 
-
 
138
section:
-
 
139
RdOpts
-
 
140
Rdversion
-
 
141
Sexpr
-
 
142
alias
-
 
143
arguments
-
 
144
author
-
 
145
concept
-
 
146
description
-
 
147
details
-
 
148
docType
-
 
149
encoding
-
 
150
examples
-
 
151
format
-
 
152
keyword
-
 
153
name
-
 
154
note
-
 
155
references
-
 
156
section
-
 
157
seealso
-
 
158
source
-
 
159
synopsis
-
 
160
title
-
 
161
usage
-
 
162
value
-
 
163
 
-
 
164
macros with argument:
-
 
165
S3method
-
 
166
S4method
-
 
167
acronym
-
 
168
begin
-
 
169
bold
-
 
170
cite
-
 
171
code
-
 
172
command
-
 
173
dQuote
-
 
174
deqn
-
 
175
describe
-
 
176
dfn
-
 
177
dontrun
-
 
178
dontshow
-
 
179
donttest
-
 
180
email
-
 
181
emph
-
 
182
enc
-
 
183
end
-
 
184
enumerate
-
 
185
env
-
 
186
eqn
-
 
187
file
-
 
188
href
-
 
189
if
-
 
190
ifelse
-
 
191
item
-
 
192
itemize
-
 
193
kbd
-
 
194
link
-
 
195
linkS4class
-
 
196
method
-
 
197
newcommand
-
 
198
option
-
 
199
out
-
 
200
pkg
-
 
201
preformatted
-
 
202
renewcommand
-
 
203
sQuote
-
 
204
samp
-
 
205
special
-
 
206
strong
-
 
207
subsection
-
 
208
tabular
-
 
209
testonly
-
 
210
url
-
 
211
var
-
 
212
verb
-
 
213
 
-
 
214
macro without argument:
-
 
215
R
-
 
216
cr
-
 
217
dots
-
 
218
ge
-
 
219
ldots
-
 
220
left
-
 
221
right
-
 
222
tab
-
 
223
*/