Skip to content

Latest commit

 

History

History
54 lines (49 loc) · 2.59 KB

TODO.md

File metadata and controls

54 lines (49 loc) · 2.59 KB

Bugs:

  • Fix local attribute types (they are missing now)

Short term:

  • Make git & github repositories; fix project structure & split modules; use GtkDrawArea
  • Add port/circle for each child node and appropriate spacing.
  • Add local variables with one port on top and one port at the bottom.
  • Proper layout.
  • Parse a-terms and extract dependencies (consider using UUAGC)
  • Add selection menu to select other nonterminals and productions
  • Bug: Fix terminals and local variables
  • Make implicit connections visually distinct (light, dotted, thin)
  • Layout local attributes:
    • Move downward attributes to the left side
    • Multiple layers of local variables
  • Filtering the display attributes:
    • Hide copy rules only visually (Transitive closure should still include the copy rule dependencies)
    • Popup window that can stay open besides main window.
    • Global list of attributes and not per production. Maybe grouped into projects.
    • Transitive dependencies toggle button
  • Attributes interaction:
    • For blue attributes, show type and location
    • For orange attributes, show only the type
    • Open window for source code (when clicked) and refresh contents
  • Flip left local attributes
  • Horizontal scrolling when productions are too large
  • Add arrow heads to indicate direction (make blue disks into triangles)
  • Filter window extras:
    • Transitive dependencies depth slider
    • "Selected production only"
  • Better vertical alignment of trapezoids (currently, they are centered)
  • Improve bezier curves
  • Hide all local attributes toggle

Future work:

  • Show node self disks (maybe also for locals) if they're used
  • Pretty print with wrapping and indentation in code window
  • Expand/collapse all for the side bar
  • Search in side bar (is already present, but not satisfactory)
  • Search bar at top of filter window
  • In filter window highlight on hover and also highlight transitive dependencies if enabled
  • Hide locals if they are not used (with fixed point iteration)
  • Project files (open file / add file) save filters
  • Ordering attributes
  • Smart filters / heuristic grouping
  • Persistance
  • Limit maximum number of visable attributes so that trapezoids never overlap
  • Indirect dependency analysis
  • Open multiple files at the same time (workaround: include all in one .ag file)
  • Drag local attributes
    • Flip local attributes (with right-click maybe?)