You can explore the sample HyperCode
source tree immediately, or read below to find our more about what
you will be seeing.
What is Hypercode?
Hypercode is a basic component of the Global Cooperative Computing framework
and functionally is to source code why hypertext is to text.
Specifically, it has some major improvements over the traditional code
understanding environment. Hypercode is densely hyperlinked to ease
understanding and comprehension of code. For instance, clicking on a
call takes you back to the original definition and such. In addition,
hypercode also supports some capabilities that take advantage of the
vast interconnectedness of networks today. Hypercode supports users
and machines to attach comments and statistics to lines of code with
the click of a button. In addition, the Global Cooperative Computing
initiative calls for the existence of central servers where code can
be stored for easy retrieval and possible incorporation into programs
by new smart compilers.
Features of Hypercode
This demo is designed to show many of
the useful features of Hypercode.
Code Links Hypercode adds links to code to make
interpretation and understanding of code much simpler. Currently
implemented and planned code links are:
- Function calls are linked back to the original function
definition. Clicking on the original function definition's name (in
italics) links to a hyperlinked listing of all the places that
function is called in the final program.
- Variable calls are linked back to that variable's
initial declaration in the local or possibly global environment. This
includes variables in the parameters of the function definition.
- #defined macros are linked back to an expansion of the expression
to reflect their actual values. (currently under work)
- #include links to the file mentioned (currently only valid for
- Functions with man pages (usually standard library) are linked to
their man pages by their original definition. (Not implemented yet)
Comments In addition, Hypercode also should support the easy
addition of comments and notes. These comments are not actually part
of the original underlying source code as /* comments are, but instead
are a part of the hypercode version of the program. Comments can be
generated by humans or machines and include:
- Code Alerts
- Bug alerts
- Fragile code warnings
- Security alerts
- General Code Ickiness
- Bug free code
- Code Structure Comments
- Important code
- Questionable code
- Hairy code
- Fork in code
- Loops in code
- Machine-generated Comments
- Core dump information
- Machine statistics
- General Comments
- General user comments
- Good work!
- And quite a few more!