Annotation of wikisrc/projects/project/xmlif.mdwn, revision 1.1

1.1     ! jmmv        1: [[!template id=project
        !             2: 
        !             3: title="Research converting system interfaces to XML"
        !             4: 
        !             5: contact="""
        !             6: [tech-kern](mailto:tech-kern@NetBSD.org)
        !             7: """
        !             8: 
        !             9: mentors="""
        !            10: [Antti Kantee](mailto:pooka@NetBSD.org), [Adam Hamsik](mailto:haad@NetBSD.org)
        !            11: """
        !            12: 
        !            13: duration="3 months"
        !            14: 
        !            15: description="""
        !            16: System interfaces are currently specified as C prototypes, C preprocessor macros and C structures. This limits the ability to do automatic processing with them. There are some cases in the tree which implement an ad-hoc domain specific language and a script producing a C representation of the data, for example vnode_if.src and namei.src.
        !            17: 
        !            18: The goal of the project is to come up with a specification language and test it by rewriting a considerable subset of the current C headers in it. A translator for generating the C representations and documentation should also be implemented. Finally, the student should suggest and implement any other use for the translator. An example is autogenerating code to print structures in a human-readable form from the ddb kernel debugger.
        !            19: 
        !            20: This is more of a research project than a simple implementation. The goals are very loosely set now, but should be exactly specified by the student in the application.
        !            21: 
        !            22: For honors, a static analyzer examining if calls are made with the correct type of flag arguments can be written as the third requirement. It would warn about for example `malloc(s, M_TEMP, PR_WAITOK);`.
        !            23: """
        !            24: ]]
        !            25: 
        !            26: [[!tag gsoc]]
        !            27: [[!tag hard]]
        !            28: [[!tag kernel]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb