Link Search Menu Expand Document

Mobjects

Table of contents

  1. GraphvizMobject
  2. StackMobject
  3. LL1ParsingVisualizer
  4. LRParsingVisualizer

GraphvizMobject

Inherits manim.mobject.types.vectorized_mobject.VGroup

This is used to put any Graphviz graph into manim. The Graphviz graph must be already laid out before it can be added as a manim VGroup. The bounding box information present in the Graphviz graph will be used to adjust it’s size and location on manim’s 14x8 grid

The VGroup also stores node ID and edge ID for each node and edge in the graph which makes it easier for animating

File : mobjects.py

StackMobject

Inherits manim.mobject.types.vectorized_mobject.VGroup

This is used to show stack elements. The constant YACV_MANIM_STACK_VIS controls how many elements at max must be visible in the stack. If more elements are present, the stack bottom becomes a dotted line to indicate more items

LL1ParsingVisualizer

Inhertis manim.scene.scene.Scene

Main scene for LL(1) parsing. This scene is effectively a reimplementation of parse() from LL1Parser but it also animates the GraphvizMobject and StackMobject after every step. Like the usual parse(), this scene will also raise errors in case the parsing is unsuccessful

Currently, yacv can visualize only valid strings in a grammar

File : vis.py

LRParsingVisualizer

Inhertis manim.scene.scene.Scene

Like LL1ParsingVisualizer but for LR parsing

File : mobjects.py


Copyright © 2021 Ashutosh Sathe. Distributed by MIT license.