https://wiki.dlang.org/?title=Projects/Visitormania&feed=atom&action=history
Projects/Visitormania - Revision history
2024-03-28T17:32:20Z
Revision history for this page on the wiki
MediaWiki 1.31.2
https://wiki.dlang.org/?title=Projects/Visitormania&diff=8768&oldid=prev
Greenify: Rename category: Projects -> Student projects
2017-12-12T10:13:41Z
<p>Rename category: Projects -> Student projects</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 10:13, 12 December 2017</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l21" >Line 21:</td>
<td colspan="2" class="diff-lineno">Line 21:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>visitors eliminate all boilerplate code of traversing the AST nodes.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>visitors eliminate all boilerplate code of traversing the AST nodes.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Category: <del class="diffchange diffchange-inline">Projects</del>]]</div></td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Category: <ins class="diffchange diffchange-inline">Student projects</ins>]]</div></td></tr>
</table>
Greenify
https://wiki.dlang.org/?title=Projects/Visitormania&diff=8767&oldid=prev
Greenify: Add category: Projects
2017-12-12T10:13:03Z
<p>Add category: Projects</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 10:13, 12 December 2017</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l20" >Line 20:</td>
<td colspan="2" class="diff-lineno">Line 20:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>3. TransitiveParseTimeVisitor/TransitiveSemanticTimeVisitor which implement the AST traversal logic forr all AST nodes. These</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>3. TransitiveParseTimeVisitor/TransitiveSemanticTimeVisitor which implement the AST traversal logic forr all AST nodes. These</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>visitors eliminate all boilerplate code of traversing the AST nodes.</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>visitors eliminate all boilerplate code of traversing the AST nodes.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category: Projects]]</ins></div></td></tr>
</table>
Greenify
https://wiki.dlang.org/?title=Projects/Visitormania&diff=8764&oldid=prev
RazvanN: Created page with "====Visitormania==== Currently, the compiler visitor is a dummy visitor which implements visiting methods that do nothing. Every time the AST is traversed to do specific acti..."
2017-12-12T09:57:14Z
<p>Created page with "====Visitormania==== Currently, the compiler visitor is a dummy visitor which implements visiting methods that do nothing. Every time the AST is traversed to do specific acti..."</p>
<p><b>New page</b></p><div>====Visitormania====<br />
<br />
Currently, the compiler visitor is a dummy visitor which implements visiting methods that do nothing. Every time<br />
the AST is traversed to do specific actions for specific nodes a lot of code needs to be written to express the<br />
traversal logic and actions taken. While the actions differ depending on what needs to be done, the AST traversal<br />
is mostly the same.<br />
<br />
This project aims at (1) redesigning the current implementation of the compiler visitor and (2) developing new visitors<br />
tailored to specific needs in order to facilitate the an easier way to use the visitors in the compiler and in the future compiler library.<br />
<br />
Among the visitors that will be implemented are:<br />
<br />
<br />
1.ParseTimeVisitor/SemanticTimeVisitor which are the base of the rest of the visitors. These visitors implement `assert(0)` <br />
visiting methods for all abstract AST nodes.<br />
<br />
2. PermissiveParseTimeVisitor/PermissiveSemanticTimeVisitor which implement empty visiting methods for all AST nodes. These<br />
visitors are useful where only a subtree of the AST needs exploring<br />
<br />
3. TransitiveParseTimeVisitor/TransitiveSemanticTimeVisitor which implement the AST traversal logic forr all AST nodes. These<br />
visitors eliminate all boilerplate code of traversing the AST nodes.</div>
RazvanN