module CanonSharp.Parser.LexicalAnalyzer.RegularExpression type RegularExpression = | EmptyExpression | SymbolExpression of symbol: char | AlternationExpression of left: RegularExpression * right : RegularExpression | ConcatenationExpression of first: RegularExpression * second : RegularExpression | KleeneExpression of expression: RegularExpression let convertToNondeterministicFiniteAutomation expression = match expression with | EmptyExpression emptyExpression ->