Mercurial > projects > dil
comparison trunk/src/dil/doc/Parser.d @ 737:f88b5285b86b
Implemented DDocEmitter.
Fixed quite a few bugs.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Sat, 09 Feb 2008 02:00:20 +0100 |
parents | c204b6a9e0ef |
children | 35184354a502 |
comparison
equal
deleted
inserted
replaced
736:2eee29aaa357 | 737:f88b5285b86b |
---|---|
58 bool findNextIdent(ref string ident, ref char* bodyBegin) | 58 bool findNextIdent(ref string ident, ref char* bodyBegin) |
59 { | 59 { |
60 while (p < textEnd) | 60 while (p < textEnd) |
61 { | 61 { |
62 skipWhitespace(); | 62 skipWhitespace(); |
63 if (p >= textEnd) | |
64 break; | |
63 auto idBegin = p; | 65 auto idBegin = p; |
64 if (isidbeg(*p) || isUnicodeAlpha(p, textEnd)) // IdStart | 66 if (isidbeg(*p) || isUnicodeAlpha(p, textEnd)) // IdStart |
65 { | 67 { |
66 do // IdChar* | 68 do // IdChar* |
67 p++; | 69 p++; |
68 while (p < textEnd && (isident(*p) || isUnicodeAlpha(p, textEnd))) | 70 while (p < textEnd && (isident(*p) || isUnicodeAlpha(p, textEnd))) |
69 auto idEnd = p; | 71 auto idEnd = p; |
70 | 72 |
71 skipWhitespace(); | 73 skipWhitespace(); |
72 if (*p == '=') | 74 if (p < textEnd && *p == '=') |
73 { | 75 { |
74 p++; | 76 p++; |
75 skipWhitespace(); | 77 skipWhitespace(); |
76 bodyBegin = p; | 78 bodyBegin = p; |
77 ident = makeString(idBegin, idEnd); | 79 ident = makeString(idBegin, idEnd); |