equal
deleted
inserted
replaced
38 protected Reader r; |
38 protected Reader r; |
39 int line=1, level=-1, groups[], lineInd[], lineLevel, groupLevel, groupIndex=0; |
39 int line=1, level=-1, groups[], lineInd[], lineLevel, groupLevel, groupIndex=0; |
40 |
40 |
41 int savedSpaces = 0; |
41 int savedSpaces = 0; |
42 boolean savedNewline = false; |
42 boolean savedNewline = false; |
|
43 |
|
44 boolean continueParsing = true; |
43 |
45 |
44 private IParserHandler event; |
46 private IParserHandler event; |
45 |
47 |
46 /* leaf buffer, for first level string processing: escape sequences */ |
48 /* leaf buffer, for first level string processing: escape sequences */ |
47 StringBuffer sb; |
49 StringBuffer sb; |
257 } |
259 } |
258 |
260 |
259 public int node() throws IOException |
261 public int node() throws IOException |
260 { |
262 { |
261 if (block()) { |
263 if (block()) { |
262 event.event(CONTENT,level, sb.toString()); |
264 continueParsing = event.event(CONTENT,level, sb.toString()); |
263 return -1; |
265 return -1; |
264 } |
266 } |
265 |
267 |
266 if (!quoted() && !comment() && !word() && !separator()) |
268 if (!quoted() && !comment() && !word() && !separator()) |
267 return 0; |
269 return 0; |
289 } |
291 } |
290 else if (c == '#') |
292 else if (c == '#') |
291 return 1; |
293 return 1; |
292 |
294 |
293 if (len != 0) |
295 if (len != 0) |
294 event.event(CONTENT, level, sb.toString()); |
296 continueParsing = event.event(CONTENT, level, sb.toString()); |
295 |
297 |
296 level++; |
298 level++; |
297 |
299 |
298 return 1; |
300 return 1; |
299 } |
301 } |
329 |
331 |
330 level = lineLevel; |
332 level = lineLevel; |
331 |
333 |
332 while ( (i=node()) > 0) |
334 while ( (i=node()) > 0) |
333 space(); |
335 space(); |
|
336 if (!continueParsing) |
|
337 return false; |
334 |
338 |
335 if (i > 0) { /* after a block don't eat spaces */ |
339 if (i > 0) { /* after a block don't eat spaces */ |
336 space(); |
340 space(); |
337 newline(); |
341 newline(); |
338 } |
342 } |