úÎ²ß      Safe-Inferred)Statements, including try-catch clauses. Boolean expressions. 4Arithmetic expressions, including integer division. Variables type alias.     None3Since Bexp members operate over different domains,  there is some boxing/#unboxing being done with WrapAtom. CParse the specified file and return either failure or the program. 6Parse stdin and return either failure or the program. DParse the supplied string and return either failure or the program. Parse a binary operation. )Parse a prefix operation, e.g. negation. 2Parse a whole program, as a series of statements. =Parse a single statement followed optionally by another one. 0 | Needs to be done due to the while-statement. Parse a program statement. Parse an arithmetic atom. *Table of supported arithmetic operations. !Parse a boolean atom. "'Table of supported boolean operations. #Parse a boolean expression. $Assignment statement. %Skip statement. &If-then-else statement. 'While statement. (Try-catch statement. !)* +!"#,$%&'(-./0123456*) +!"#,$%&'(-./01234567      !"#$%&'()*+,-./0123456789:while-lang-parser-0.1.0.0Language.While.TypesLanguage.While.ParserStmStrySwhileSifScompSskipSassBexpBandBnegBleqBeqBfalseBtrueAexpAdivAmulAsubAaddVariableNumeralVarnameloadFile loadStdinWrapAtom parseStringbinaryOpprefixOpprogram consecutive statementarithmeticAtomarithmeticOperation booleanAtombooleanOperation booleanExpr stmAssignmentstmSkipstmIfstmWhile stmTryCatchAexpWBexpWarithmeticExpr booleanExpr' identifierintegerparens reservedOpsemisymbolsemiSep whiteSpace whileLexer whileStyle