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);