Formally# is an online formal language designer.
You can check it out at formallysharp.azurewebsites.net

Features

This is a full-stack functional-style web application built using F# and the SAFE Stack. Source code is available on GitHub.

Notable features include:

  • Full separation between lexical and syntactical definitions
  • Conversion of regular expressions to DFAs
  • Compilation of LL(1) grammars to table-based parsers
  • Automatic detection of LL(1) conflicts
  • Test acceptance of input strings on the fly
  • Project persistency across (unauthenticated) sessions

To-do list:

  • Translate the UI from portuguese to english
  • Implement a better regex parser, as the current one is very non-standard and doesn’t have escape characters
  • Improve on-the-fly parsing perfomance
  • Automatic generation of random syntactically correct strings, which could be useful for testing purposes
  • Enforce referential integrity across rules in the UI
  • Visualize lexer FSMs and syntax diagrams

Screenshots

poly

calc

lexer

first_first

first_follow

Comments