⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ideas.htm

📁 SP是一个基于GNU C++编译器
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN"><HTML><HEAD><TITLE>Ideas for improving SP</TITLE></HEAD><BODY><H1>Ideas for improving SP</H1><H2>Parser</H2><P>When !internalCharsetIsDocCharset, need to check that everysignificant character is an SGML character.<P>Treat "ISO Registration Number NNN//" public ids specially.  Warn ifthey use designating sequence inconsistently.<P>Pass non-declared attributes through to application.<P>Avoid expensive overflow test in stringToNumber when length of numberis less then something guaranteed not to overflow.<P>Allow external character set to be complete character set description.<P>Maybe distinguish non-SGML characters as separate event even wheninternalCharsetIsDocCharset.<P>Supporting caching across multiple runs of parser in singleprocess.<P>Make Dtd copiable.<P>?Subdoc parser needs character set for system id (should be systemcharacter set).<P>Recover better from non-existent documents or subdocuments.<P>Think about entity declarations/references in inactive LPDs.<P>Don't allow name groups in parameter entity references in documenttype specifications in start-/end-tags.<P>With link, don't do a pass 2 unless we replace a referenced entity(what about default entity?).<P>Options to warn about things that HTML disallows: marked sections ininstance, explicit subsets.<P>Option to warn about MDCs in comments in comment declarations.<P>Option to warn about omitted REFC.<P>Check that names of added functions are valid names in concrete syntax(both characters and lengths).  Also need to do upper-casesubstitution on them?<P>Recover from nested doctype declaration intelligently.<P>Recover from missing doctype declaration intelligently. <P>Could optimize parsing of attribute literals using technique similarto extendData().<P>attributeValueLength error should give actual length of value.<P>Recover better from entity reference with name group in literal.<P>At start of pass 2 clear everything in pass1LPDs except entity sets.<P>Give an error if EXPLICIT > 1 and LPDs don't chain as required by436:5-7 and 436:18-20.<P>Handle quantity errors by reporting at the end of the prolog and theend of the instance any quantities that need to be increased.<P>Make noSuchReservedName error more helpful.<P>Function characters should perform their function even when markuprecognition is suppressed. (I think I've handled this.)<P>Give a warning for notation attribute that is #CONREF.<P>Try to separate out Parser::compileModes().<P>In CompiledModelGroup have vector that gives an index for each element typethat occurs in the model group.  Then in each leaf content token have avector that maps this index to a LeafContentToken *, if thereis a simple transition (no and groups involved) to that element type.<P>MatchState::minAndDepth and MatchState::AndInfo should be separatedoff info object pointed to from MatchState; pointer would be null forelements with no AND groups.<P>What to do if we encounter USELINK or USEMAP declaration after DTD inprolog?  Should stop prolog and start DTD.  If we have SCOPE INSTANCEthen if we get an unknown declaration type in prolog, don't giveerror, but unget token and start instance.<P>?Have separate version of reportNonSgml() for case where datachar is allowed.<P>Implement CONCUR.<P>AttributeDefinition constructors should have Owner&lt;DeclaredValue> &,arguments to avoid storage leaks when exceptions are thrown.<P>Create a list like IList but which keeps track of length.  Thencombine tagLevel into openElement stack, and inputLevel intoinputStack.<P>AttributeDefinition::makeValue should returnConstResourcePointer&lt;AttributeValue>.<P>Syntax member functions should use reference for result.<P>Have a LocationKey data structure that can be used to determine therelative order of locations in possibly different concurrentinstances.  Contains: offset in document instance; is it a replacementof named character reference; for each entity and numeric characterreference: location in entity and index of dtd in which instance isdeclared.<P>On systems with fixed stacks, avoid unlimited stack growth: hardlimits on number of SUBDOCS and GRPLVL.<P>With extendData and extendS don't extend more than some fixed amount(eg 1024), otherwise could overrun InputSource buffer on 16-bitsystem.<P>Have a location in ElementType saying where the first mention of theelement name was.  Useful for giving warnings about undefinedelements.<P>How to detect 310:8-10?<P>AttributeSemantics should return const pointers rather than ResourcePointer's<P>Rename Parser -> ParserImpl SgmlParser -> ParserSyntax::isB -> Syntax::isBlank<P>What mode should be used for parsing other prolog after document element?<P>Flag out of context data.<P>Provide mechanism to allow character names to be mapped onto universalcharacter numbers.<P>Provide mechanism to allow specification of wbat characters arecontrol characters (for the purposes of SHUNCHAR controls).<P>With SCOPE INSTANCE, which syntax should be used for delimiters inbracketed text entities?<P>Better error messages for ambiguous delimiters.<P>Do we need both EndLpd and ComplexLink/SimpleLink events?<P>What to do about 457:19-21?<P>Rename lpd_ to activeLpd_; allLpd_ to lpd_.<P>Test for validity of character numbers in syn ref charset (perhapsunnecessary, because bad numbers won't be translateable into doccharset).<P>Option to read bootstrap character set from entity.<P>In AttributeDefinitionList have a flag that is true if any checking ofunspecified values in attribute list is needed (ie CURRENT, REQUIRED,non-implied ENTITY, non-implied NOTATION).  In this case can avoidrunning over attributes in AttributeList::finish, by computing valueonly when user calls Attribute::value().<P>Construct link attributes from definition if no applicable link rule.(RAST maybe doesn't want this.  Make it a separate method in LinkProcess anduse in SgmlsEventHandler. Very useful with ArcEngine.)<P>Shouldn't have OpenElementInfo in Message.  Instead use RTTI.<P>noSuchAttribute: include gi in message; if element is undefined, don'tgive error at all<P>noSuchAttributeToken: say what element or entity<P>nonExistentEntityRef should say document/link type<P>Distinguish errors that are totally recoverable.<P>Find better way to unpack entity information in entity attribute.<H2>Entity Manager</H2><P>Build document<->internal translation tables once per document notonce per entity.<P>Avoid document<->internal translations when one is the subset of the other(or something like that).<P>In cases where it won't cause problems, don't translatenon-SGML/unrepresentable characters when doing document<->internaltranslations, so that user gets better error message.<P>Recover better from unknown document character sets (shouldn't reportthem as non-SGML characters).<P>Maybe need to keep track of set of SGML characters as numbers in documentcharacter set.<P>Optimize TranslateDecoder where underlying codingSystem is identity byusing simple lookup table.<P>Make use of charset parameter in MIME header for HTTP.  Also generateAcceptCharsets line in request.<P>Implement .mim files (if extension of file is same as environment variableSP_MIME_EXT assume it has a MIME header).<P>Avoid using TranslateCodingSystem when translation is a no-op.<P>Make SP_CONVERT when !SP_MULTI_BYTE.<P>Avoid requiring that BASE sysid exist.<P>When FSI has only a single storage manager and that is a literal,return an InternalInputSource.<P>Allow user of InputSource to specify what bit combinations theywant to see for RS and RE.<P>Have environment variable SP_INPUT_BCTF that overrides SP_BCTF forinput.<P>Avoid using numeric character references for all characters in storageobject identifier of literal storage manager in effective systemidentifier.<P>Instead of registering coding system pass CodingSystemKit that can createthat can create coding systems.<P>Need BCTF entry in catalog that specifies default BCTF.<P>Allow encodings to be externally specified (eg in a catalog) as acombination of a BCTF and a character set.<P>An SOEntityCatalog should consist of a Vector&lt;ConstPtr&lt;EntityCatalog>> which can be shared between several catalogs.  This would facilitate> caching.<P>Maybe need to be able to specify two types of catalog entry file: oneused for all documents; one used for this document alone.<P>Allow end-tags in FSIs.  Support alternative SOSs.<P>Character sets in the catalog need rethinking.  Also character set ofParsedSystemId::Map::publicId.<P>Allow for HTTP proxy.<P>Cache catalogs.<P>Use Microsoft ActiveX (formerly Sweeper) DLL on Win95 or NT.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -