accept broken comment begin

git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@947 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
calvin 2003-07-10 12:20:44 +00:00
parent 500fbe023d
commit 9343fe7cd8
2 changed files with 6449 additions and 4600 deletions

File diff suppressed because it is too large Load diff

View file

@ -183,6 +183,12 @@ static PyObject* quote_string (PyObject* val) {
%x S_TAGEND
%x S_TAGEND2
%x S_SCRIPT
%x S_SCRIPT_APOS
%x S_SCRIPT_APOS_ESC
%x S_SCRIPT_STRING
%x S_SCRIPT_STRING_ESC
%x S_SCRIPT_COMMENT
%x S_SCRIPT_MCOMMENT
%x S_STYLE
%x S_ATTR1
%x S_ATTR2
@ -190,7 +196,9 @@ static PyObject* quote_string (PyObject* val) {
%x S_ATTR4
%x S_ATTR5
%x S_APOSSTRING
%x S_APOSSTRING_ESC
%x S_STRING
%x S_STRING_ESC
RX_WHITE_SPACE [\n\r\ \t\b\012]
RX_EQUAL =
@ -207,7 +215,8 @@ RX_DATA [-a-zA-Z0-9_]+
/*********************** COMMENT ************************/
/* Note: eonline had some "<! --" comments */
<INITIAL><![ ]*-- {
/* Note: a bug report about "<!- " comments was filed */
<INITIAL><![ ]*-[- ] {
UPDATE_BUFPOS;
UPDATE_COLUMN;
BEGIN(S_COMMENT);
@ -427,7 +436,37 @@ RX_DATA [-a-zA-Z0-9_]+
RETURN(T_SCRIPT);
}
<S_SCRIPT>[^<]+ {
<S_SCRIPT>[^/'"<]+ {
UPDATE_BUFPOS;
UPDATE_LINE;
APPEND_TO_TMP(yyleng);
}
<S_SCRIPT>\' {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT_APOS);
}
<S_SCRIPT>\" {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT_STRING);
}
<S_SCRIPT>\/\/ {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT_COMMENT);
}
<S_SCRIPT>\/\* {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT_MCOMMENT);
}
<S_SCRIPT>\/[^/*] {
UPDATE_BUFPOS;
UPDATE_LINE;
APPEND_TO_TMP(yyleng);
@ -486,6 +525,100 @@ RX_DATA [-a-zA-Z0-9_]+
return T_WAIT;
}
<S_SCRIPT_APOS>\\ {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT_APOS_ESC);
}
<S_SCRIPT_APOS>[^\\']+ {
UPDATE_BUFPOS;
UPDATE_LINE;
APPEND_TO_TMP(yyleng);
}
<S_SCRIPT_APOS>\' {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT);
}
<S_SCRIPT_APOS_ESC>. {
UPDATE_BUFPOS;
UPDATE_LINE;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT_APOS);
}
<S_SCRIPT_STRING>\\ {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT_STRING_ESC);
}
<S_SCRIPT_STRING>[^\\"]+ {
UPDATE_BUFPOS;
UPDATE_LINE;
APPEND_TO_TMP(yyleng);
}
<S_SCRIPT_STRING>\" {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT);
}
<S_SCRIPT_STRING_ESC>. {
UPDATE_BUFPOS;
UPDATE_LINE;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT_STRING);
}
<S_SCRIPT_COMMENT>[^\-\n]+ {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
}
<S_SCRIPT_COMMENT>\n {
UPDATE_BUFPOS;
UPDATE_LINE;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT);
}
<S_SCRIPT_COMMENT>-([^-]+|-[^>]+) {
UPDATE_BUFPOS;
UPDATE_LINE;
APPEND_TO_TMP(yyleng);
}
<S_SCRIPT_COMMENT>--> {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT);
}
<S_SCRIPT_COMMENT>. {
return T_WAIT;
}
<S_SCRIPT_MCOMMENT>[^*]+|\*[^/]+ {
UPDATE_BUFPOS;
UPDATE_LINE;
APPEND_TO_TMP(yyleng);
}
<S_SCRIPT_MCOMMENT>\*\/ {
UPDATE_BUFPOS;
APPEND_TO_TMP(yyleng);
BEGIN(S_SCRIPT);
}
<S_SCRIPT_MCOMMENT>. {
return T_WAIT;
}
/*********************** STYLE ************************/
<S_STYLE><\/{RX_WHITE_SPACE}*[Ss][Tt][Yy][Ll][Ee]{RX_WHITE_SPACE}*> {
UPDATE_BUFPOS;