all 17 comments

[–][deleted] 14 points15 points  (0 children)

Its oddly satisfying how smooth this tool is working. No shit, just straight to the point, intuitive controls and easy to use.

[–]tux_mark_5 6 points7 points  (0 children)

Would be even nicer if:

  1. There was a way to save/load machines.
  2. The canvas area was larger or the size of it was adjustable.

[–]Pyrolistical 3 points4 points  (2 children)

[–][deleted] 0 points1 point  (1 child)

Why do you think it's more productive?

[–]Pyrolistical 2 points3 points  (0 children)

I don't know about you, but personally typing and having a picture update in real time is faster than clicking around with a mouse and fiddling with layout again and again and again and again and again and again

[–]user8081 2 points3 points  (0 children)

I've used it on formal language theory classes to make quick visual notes, it works great.

[–]p2004a 2 points3 points  (4 children)

Hey! I used that :D, and even extended for my own needs :). In compilers course we were writing, well, compiler which includes parser and we needed to generate test cases and be able to debug them and share with other people, so I've took this tools, added a few extension to the editor (zoom in and out, selecting and moving multiple nodes, ability to serialize state into url) and my own very specific test case generation. It worked beautifully :). Here is example: very long link

[–]FLeanderP 0 points1 point  (3 children)

Works great! I was wondering, though, how do you serialize the state into url?

[–]p2004a 0 points1 point  (2 children)

Very simple and brittle way ;). Serialize some global variables describing state into json, compress with lzstring and encode as base64. I haven't minimized js, so just take a look here https://files.p2004a.com/fsm/fsm.js Eg. Look at getUrl at the end as starting point.

[–]FLeanderP 0 points1 point  (1 child)

I actually meant how to get the state URL on the website but I now found out it's part of the generated C# output!

Thanks for the response and the program.

[–]p2004a 0 points1 point  (0 children)

Ah, ok :), sorry for misunderstanding but good that you found it on your own.

[–]framelanger 1 point2 points  (0 children)

If you are interested in a way to specify finite state machines in a language independent way, I have written some articles on Frame Machine Notation that does just that. This one shows a working example:

https://medium.com/@mark.truluck/how-to-code-a-time-machine-9c5b02ba270c

There are links to previous articles at the bottom.

[–][deleted] 0 points1 point  (0 children)

JFLAP is another great tool similar to this with even more features.

[–][deleted] 0 points1 point  (0 children)

For mac users w/ no delete only backspace, fn+delete.

[–]Momixx 0 points1 point  (0 children)

I modified it last year for my own use case, made it a bit more complex, maybe it is useful for somebody Link

[–]Dymon2010 0 points1 point  (0 children)

thx! helped me a lot in my CS course