System and method for imbedding hyperlinked language grammar notation in a “literate” programming environment
AssigneeInternational Business Machines Corporation
InventorNeelakantan Sundaresan
Life of this patent
Estimating the term…
Abstract
Documentation of a software application is automatically generated for the classes, written in an object oriented-language, which comprise the application. The classes within the application are typically arranged in a hierarchy and contain productions of a specification grammar in Extended Backus Naur form. The automatically generated documentation corresponding to these productions are closely wired to the underlying class hierarchy by creating hypertext links between the productions in different classes. Thus, these generated hyperlinks allow browsing of the automatically generated documentation according to the hierarchical structure of the classes in the object-oriented class hierarchy being documented.
Claims30
A computer-based system for generating software documentation, said system including an extended documentation tag language representing an EBNF (Extended Backus Naur forms) production introduced in a first class and comprising:
- a parser which identifies a set of extended tags, said extended tags comprising:
- an identification tag and corresponding value for a left-hand-side of said EBNF production;
- an identification tag and corresponding value for each of a set of right-hand-side elements of said EBNF production;
- a class tag and corresponding value for each of said set of right-hand-side elements of said EBNF production;
- said class tag and corresponding value implied for any right-hand-side element also introduced in said first class and said class tag and corresponding value explicit for any right-hand-side element introduced in a class other than said first class;
- and
- a documentation generator which uses said corresponding value to produce documentation for each element within said set of extended tags.
A documentation processor that generates browsable documentation cross-linking a set of EBNF productions in at least one class comprising:
- an extended tag used to represent an EBNF production;
- an extractor which extracts a set of documentation tags from at least one file;
- a parser which identifies a set of extended tags, if present, within said set of documentation tags;
- a resolver which determines, for each element of said set of extended tags, a corresponding reference to at least one other element within said set of extended tags;
- a documentation generator which uses said corresponding reference to produce documentation for each element within said set of extended tags.
A method of processing extended tag language representations of a plurality of EBNF productions within at least one class comprising the steps:
- receiving at least one source code file;
- extracting a set of documentation tags from said at least one source file;
- identifying a set of extended tags within said set of documentation tags, wherein each element of said set of extended tags corresponds to one of said plurality of EBNF productions;
- determining for each element of said set of extended tags a corresponding reference to at least one other element of said set of extended tags, and
- providing, for each element of said set of extended tags, said corresponding reference to a documentation generator.
An article of manufacture comprising a computer user medium having computer readable program code embodied therein which implements processing of extended tag language representations of a plurality of EBNF productions within at least one class, said processing steps comprising:
- receiving at least one source code file;
- extracting a set of documentation tags from said at least one source file;
- identifying a set of extended tags within said set of documentation tags, wherein each element of said set of extended tags corresponds to one of said plurality of EBNF productions;
- determining for each element of said set of extended tags a corresponding reference to at least one other element of said set of extended tags and
- providing, for each element of said set of extended tags, said corresponding reference to a documentation generator.
Dependencies are inferred from the claim text.