incremental parsing; xml support; token handler dispatching; performance

This commit is contained in:
rickg
1998-05-21 20:38:32 +00:00
parent 3174c26304
commit 507a1f8f85
44 changed files with 1476 additions and 2488 deletions

View File

@@ -38,8 +38,9 @@ static const char* kNullParserGiven = "Error: Null parser given as argument";
* @param
* @return
*/
CTokenHandler::CTokenHandler(eHTMLTokenTypes aType) {
CTokenHandler::CTokenHandler(dispatchFP aFP,eHTMLTokenTypes aType){
mType=aType;
mFP=aFP;
}
@@ -65,18 +66,6 @@ eHTMLTokenTypes CTokenHandler::GetTokenType(void){
return mType;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
@@ -85,555 +74,12 @@ PRBool CTokenHandler::CanHandle(eHTMLTokenTypes aType){
* @param
* @return
*/
PRBool CTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
PRBool result=PR_FALSE;
if(aParser){
result=PR_TRUE;
PRInt32 CTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
PRInt32 result=kNoError;
if((0!=aParser) && (0!=mFP)) {
result=(*mFP)(mType,aToken,aParser);
}
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CStartTokenHandler::CStartTokenHandler() : CTokenHandler(eToken_start) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CStartTokenHandler::~CStartTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CStartTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleStartToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CStartTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CEndTokenHandler::CEndTokenHandler(): CTokenHandler(eToken_end) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CEndTokenHandler::~CEndTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CEndTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleEndToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CEndTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CCommentTokenHandler::CCommentTokenHandler() : CTokenHandler(eToken_comment) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CCommentTokenHandler::~CCommentTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CCommentTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleCommentToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CCommentTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CEntityTokenHandler::CEntityTokenHandler() : CTokenHandler(eToken_entity) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CEntityTokenHandler::~CEntityTokenHandler() {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CEntityTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleEntityToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CEntityTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CWhitespaceTokenHandler::CWhitespaceTokenHandler() : CTokenHandler(eToken_whitespace) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CWhitespaceTokenHandler::~CWhitespaceTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CWhitespaceTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleStartToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CWhitespaceTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CNewlineTokenHandler::CNewlineTokenHandler() : CTokenHandler(eToken_newline) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CNewlineTokenHandler::~CNewlineTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CNewlineTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleStartToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CNewlineTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CTextTokenHandler::CTextTokenHandler() : CTokenHandler(eToken_text) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CTextTokenHandler::~CTextTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CTextTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleStartToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CTextTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CAttributeTokenHandler::CAttributeTokenHandler() : CTokenHandler(eToken_attribute) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CAttributeTokenHandler::~CAttributeTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CAttributeTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleAttributeToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CAttributeTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CScriptTokenHandler::CScriptTokenHandler() : CTokenHandler(eToken_script) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CScriptTokenHandler::~CScriptTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CScriptTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleScriptToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CScriptTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CStyleTokenHandler::CStyleTokenHandler() : CTokenHandler(eToken_style) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CStyleTokenHandler::~CStyleTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CStyleTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleStyleToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CStyleTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CSkippedContentTokenHandler::CSkippedContentTokenHandler() : CTokenHandler(eToken_skippedcontent) {
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
CSkippedContentTokenHandler::~CSkippedContentTokenHandler(){
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CSkippedContentTokenHandler::operator()(CToken* aToken,nsHTMLParser* aParser){
NS_ASSERTION(0!=aParser,kNullParserGiven);
if(aParser){
return aParser->HandleSkippedContentToken(aToken);
}
return PR_FALSE;
}
/**
*
*
* @update gess 4/2/98
* @param
* @return
*/
PRBool CSkippedContentTokenHandler::CanHandle(eHTMLTokenTypes aType){
PRBool result=PR_FALSE;
return result;
}