fact: Definition javascript'_pregrammar' : pregrammar Ascii.ascii := Eval grammar_red in [[[ Program;; PrimaryExpression_normal;; PrimaryExpression_initial;; SimpleExpression;; ParenthesizedExpression;; FunctionExpression;; ObjectLiteral;; FieldList;; LiteralField;; ArrayLiteral;; ElementList;; LiteralElement;; LeftSideExpression "normal";; LeftSideExpression "initial";; CallExpression "normal";; CallExpression "initial";; FullNewExpression;; ShortNewExpression;; FullNewSubexpression;; ShortNewSubexpression;; MemberOperator;; Arguments;; ArgumentList;; PostfixExpression "normal";; PostfixExpression "initial";; UnaryExpression "normal";; UnaryExpression "initial";; MultiplicativeExpression "normal";; MultiplicativeExpression "initial";; AdditiveExpression "normal";; AdditiveExpression "initial";; ShiftExpression "normal";; ShiftExpression "initial";; RelationalExpression "normal" "allowIn";; RelationalExpression "initial" "allowIn";; RelationalExpression "normal" "noIn";; RelationalExpression "initial" "noIn";; EqualityExpression "normal" "allowIn";; EqualityExpression "initial" "allowIn";; EqualityExpression "normal" "noIn";; EqualityExpression "initial" "noIn";; BitwiseAndExpression "normal" "allowIn";; BitwiseAndExpression "initial" "allowIn";; BitwiseAndExpression "normal" "noIn";; BitwiseAndExpression "initial" "noIn";; BitwiseXorExpression "normal" "allowIn";; BitwiseXorExpression "initial" "allowIn";; BitwiseXorExpression "normal" "noIn";; BitwiseXorExpression "initial" "noIn";; BitwiseOrExpression "normal" "allowIn";; BitwiseOrExpression "initial" "allowIn";; BitwiseOrExpression "normal" "noIn";; BitwiseOrExpression "initial" "noIn";; LogicalAndExpression "normal" "allowIn";; LogicalAndExpression "initial" "allowIn";; LogicalAndExpression "normal" "noIn";; LogicalAndExpression "initial" "noIn";; LogicalOrExpression "normal" "allowIn";; LogicalOrExpression "initial" "allowIn";; LogicalOrExpression "normal" "noIn";; LogicalOrExpression "initial" "noIn";; ConditionalExpression "normal" "allowIn";; ConditionalExpression "initial" "allowIn";; ConditionalExpression "normal" "noIn";; ConditionalExpression "initial" "noIn";; AssignmentExpression "normal" "allowIn";; AssignmentExpression "initial" "allowIn";; AssignmentExpression "normal" "noIn";; AssignmentExpression "initial" "noIn";; CompoundAssignment;; Expression "normal" "allowIn";; Expression "initial" "allowIn";; Expression "normal" "noIn";; Expression "initial" "noIn";; OptionalExpression;; SOptionalExpression;; Statement "noShortIf";; Statement "full";; OptionalSemicolon;; EmptyStatement;; ExpressionStatement;; VariableDefinition;; VariableDeclarationList "allowIn";; VariableDeclarationList "noIn";; VariableDeclaration "allowIn";; VariableDeclaration "noIn";; VariableInitializer "allowIn";; VariableInitializer "noIn";; Block;; BlockStatements;; BlockStatementsPrefix;; LabeledStatement "noShortIf";; LabeledStatement "full";; IfStatement_full;; IfStatement_noShortIf;; SwitchStatement;; CaseGroups;; CaseGroup;; LastCaseGroup;; CaseGuards;; CaseGuard;; DoStatement;; WhileStatement "noShortIf";; WhileStatement "full";; ForStatement "noShortIf";; ForStatement "full";; ForInitializer;; ForInBinding;; WithStatement "noShortIf";; WithStatement "full";; ContinueStatement;; BreakStatement;; OptionalLabel;; ReturnStatement;; ThrowStatement;; TryStatement;; CatchClauses;; CatchClause;; FinallyClause;; FunctionDefinition;; AnonymousFunction;; NamedFunction;; FormalParametersAndBody;; FormalParameters;; FormalParametersPrefix;; FormalParameter;; TopStatements;; TopStatementsPrefix;; TopStatement;; "WS*" ::== "" || [\s] "WS*" ]]]%grammar.
imports: Fiat.Parsers.ContextFreeGrammar.Notations