6 ms·
Show HN: I made a parser visualizer using manim
- feanaro 6y agoI've heard it said previously that manim is hard to use if you're not 3b1b. Is this (still) true? How hard was the manim side of things to implement, subjectively speaking?
- roboticmind 6y agoSince I last used it, it looks like there has been a lot of work on manim in the community fork [1]. It used to definitely be a fair amount of work to figure things out, but it looks like things are easier now. I remember having to dig through source code for everything and the SVG rendering was a nightmare, but since then there's now some proper documentation [2] and an overhaul of how manim does SVG rendering [3]. Looks like it's much nicer to use now. It's worth messing around with if you haven't used manim before [1] https://github.com/ManimCommunity/manim/ https://github.com/ManimCommunity/manim/ [2] https://docs.manim.community/en/v0.4.0/index.html https://docs.manim.community/en/v0.4.0/index.html [3] https://github.com/ManimCommunity/manim/pull/915 https://github.com/ManimCommunity/manim/pull/915
- ashutoshbsathe 6y agoAll points roboticmind said are true There is also a good tutorial for manim on YouTube [1] Coming to this project, getting things working with original manim (ManimGL) was a bit of a pain, however, the community edition works very nice. I have compared the outputs produced by ManimGL and ManimCE in the docs [2], you can have a look at that as well [1]: https://www.youtube.com/playlist?list=PL2B6OzTsMUrwo4hA3BBfS7ZR34K361Z8F https://www.youtube.com/playlist?list=PL2B6OzTsMUrwo4hA3BBfS... [2]: https://ashutoshbsathe.github.io/yacv/manim-comparison/ https://ashutoshbsathe.github.io/yacv/manim-comparison/
- alexf95 6y agoWould be nice if you could provide some visual examples of it. Intrested to see how it will look like in the end.
- nmaleki 6y agoI found a visual example here: https://ashutoshbsathe.github.io/yacv/ https://ashutoshbsathe.github.io/yacv/
- alexf95 6y agoAhh thanks for that, guess i just didnt look into it enough to find it.
- jshprentz 6y agoThis video shows yacv visualizations of LL(1) and LR(1) parsing. https://youtu.be/BozB0O0__Qg https://youtu.be/BozB0O0__Qg
- azhenley 6y agoThe readme doesn't show any example visualizations...
- donpark 6y agowatch https://www.youtube.com/watch?v=BozB0O0__Qg https://www.youtube.com/watch?v=BozB0O0__Qg
- ashutoshbsathe 6y agoThe README file will link you to the demo video on YouTube [1]. There is also a working example section [2] on the landing page of documentation which shows what all visualizations yacv can produce given a CFG and a string [1]: https://www.youtube.com/watch?v=BozB0O0__Qg https://www.youtube.com/watch?v=BozB0O0__Qg [2]: https://ashutoshbsathe.github.io/yacv/#working-example https://ashutoshbsathe.github.io/yacv/#working-example
- jjice 6y agoGreat timing, I currently have a homework for my compiler class about doing LL by hand. I'll give this a go later today to help me visualize.
- amir734jj 6y agoI love it. I will definitely use it in the compiler class I will be teaching in Fall. Please improve the README file.
- ashutoshbsathe 6y agoThanks. Using this for teaching was my primary goal too ! Please let me know how it goes. Can you give me some pointers for improving README ? I know README isn't the best out there, but I'm also not sure what I must change to make it better
- neolog 6y agoVideo makes it hard to understand what's changed from frame to frame. I think static < animated < interactive.
- ashutoshbsathe 6y agoI also find that for a first time user, it may be a bit hard to figure out what's exactly going on. I experimented with slowing down the animation after every step, let the user take in what's happened and then move to next step but that made the video too long and kinda boring for experienced users I figured after watching 1-2 such visualizations, you get used to looking at exactly the parts that are changing and then it works without explicitly slowing down the video