Changes between Version 20 and Version 21 of GSoc2011
- Timestamp:
- 03/11/11 17:41:08 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GSoc2011
v20 v21 72 72 * '''Difficulty''': 5/5 73 73 * '''Links of Interest''': <NONE, please add some> 74 * '''Possible Mentors''': <UNKNOWN, please volunteer!>74 * '''Possible Mentors''': Whiteknight 75 75 * '''Details''': Create an LALR parser generator tool. The tool should be written in one of the lower-level languages which run on Parrot (PIR, NQP, Winxed, other) for maximum portability. The parser generator should take a language specification and compile it into an LALR parser in a manner similar to YACC/Bison. The generator parser likewise can be in any suitable language. For this project, a working LALR parser generator engine is more important than the ability to understand a huge number of input patterns and pattern modifiers. 76 76 * '''Expected Deliverables''': A working LALR parser generator capable of converting a language specification into an LALR parser. Necessary unit tests, examples, and documentation must be included. … … 96 96 * '''Difficulty''': 4/5 97 97 * '''Links of Interest''': <NONE, please add some> 98 * '''Possible Mentors''': <UNKNOWN, please volunteer!>98 * '''Possible Mentors''': Whiteknight 99 99 * '''Details''': Parrot needs a new debugger. There exists a toolset called "parrot-instrument" which can be used to insert introspection, analysis, and manipulation functions into Parrot internals. You may optionally (preferrably) use Parrot-Instrument as the basis for your new debugger or create a new one from scratch. A successful debugger will have the ability to set break-points on subroutines at the PIR and HLL level, set watchpoints on registers or individual PMCs, and introspect state information from a running program. The debugger should read information from annotations so that it can be used to work with various HLLs. Performance of code executing under the debugger is not a primary concern for the initial deliverable. 100 100 * '''Expected Deliverables''': A working debugger with the capabilities listed above. In addition, the successfull student should provide adequate unit tests, code examples, and documentation. … … 105 105 * '''Links of Interest''': <NONE, please add some> 106 106 * '''Possible Mentors''': <UNKNOWN, please volunteer!> 107 * '''Details''': Expand on parrot-instrument, build awesome tools on top of it, get it fully working again.108 * '''Expected Deliverables''': <UNKNOWN, Please list what the deliverables will be>107 * '''Details''': Several HLLs, especially Rakudo Perl 6, have need of a profiling tool that can generate information about subroutine call patterns and execution times. This will help to identify bottlenecks and areas where optimization is needed, among other things. There exists a project called "Parrot-Instrument" which can be used to add analysis, introspection, and runtime manipulation tools to Parrot. Parrot-Instrument may be used as the basis for a successful code profiling tool. Ideally, the code profiling tool will operate on PIR/PBC and will be agnostic to the specific HLL in which the code was originally written. 108 * '''Expected Deliverables''': A working code profiling tool including unit testing and user documentation. 109 109 110 110 === Green Threads and Tasks === … … 112 112 * '''Difficulty''': <UNKNOWN> 113 113 * '''Links of Interest''': <NONE, please add some> 114 * '''Possible Mentors''': <UNKNOWN, please volunteer!>114 * '''Possible Mentors''': Whiteknight 115 115 * '''Details''': Create an implementation of preemptive-switching green threads for Parrot. The successful project should be designed with an eye towards eventual M:N thread hybridization. 116 116 * '''Expected Deliverables''': <UNKNOWN, Please list what the deliverables will be>