<NME> Tuples.txt
<BEF> Elm File
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('magicNumber')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmNumberConstantExpr(NUMBER_CONSTANT_EXPR)
      PsiElement(NUMBER_LITERAL)('42')
  PsiElement(VIRTUAL_END_DECL)('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('f1')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmParenthesizedExpr(PARENTHESIZED_EXPR)
      PsiElement(LEFT_PARENTHESIS)('(')
      ElmValueExpr(VALUE_EXPR)
        ElmValueQID(VALUE_QID)
          PsiElement(LOWER_CASE_IDENTIFIER)('mag')
      PsiErrorElement:<expression>, COMMA, OPERATOR_IDENTIFIER or RIGHT_PARENTHESIS expected, got '
'
        <empty list>
  PsiElement(VIRTUAL_END_DECL)('\n')
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('f2')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmTupleExpr(TUPLE_EXPR)
      PsiElement(LEFT_PARENTHESIS)('(')
      ElmValueExpr(VALUE_EXPR)
        ElmValueQID(VALUE_QID)
          PsiElement(LOWER_CASE_IDENTIFIER)('magicNumber')
      PsiElement(COMMA)(',')
      PsiErrorElement:<expr> expected
        <empty list>
  PsiElement(VIRTUAL_END_DECL)('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('f3')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmTupleExpr(TUPLE_EXPR)
      PsiElement(LEFT_PARENTHESIS)('(')
      ElmValueExpr(VALUE_EXPR)
        ElmValueQID(VALUE_QID)
          PsiElement(LOWER_CASE_IDENTIFIER)('magicNumber')
      PsiElement(COMMA)(',')
      PsiWhiteSpace(' ')
      ElmValueExpr(VALUE_EXPR)
        ElmValueQID(VALUE_QID)
      ElmValueExpr(VALUE_EXPR)
        ElmValueQID(VALUE_QID)
          PsiElement(LOWER_CASE_IDENTIFIER)('m')
      PsiErrorElement:<expression>, COMMA, OPERATOR_IDENTIFIER or RIGHT_PARENTHESIS expected, got '
'
        <empty list>
  PsiElement(VIRTUAL_END_DECL)('\n')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmTupleExpr(TUPLE_EXPR)
      PsiElement(LEFT_PARENTHESIS)('(')
      ElmValueExpr(VALUE_EXPR)
        ElmValueQID(VALUE_QID)
          PsiElement(LOWER_CASE_IDENTIFIER)('magicNumber')
      PsiElement(COMMA)(',')
      PsiErrorElement:<expr> expected, got ')'
        <empty list>
  PsiWhiteSpace(' ')
  PsiElement(RIGHT_PARENTHESIS)(')')
  PsiElement(VIRTUAL_END_DECL)('\n')
  ElmValueDeclaration(VALUE_DECLARATION)
    ElmFunctionDeclarationLeft(FUNCTION_DECLARATION_LEFT)
      PsiElement(LOWER_CASE_IDENTIFIER)('magicWord')
    PsiWhiteSpace(' ')
    PsiElement(EQ)('=')
    PsiWhiteSpace(' ')
    ElmStringConstantExpr(STRING_CONSTANT_EXPR)
      PsiElement(OPEN_QUOTE)('"')
      PsiElement(REGULAR_STRING_PART)('please')
      PsiElement(CLOSE_QUOTE)('"')
<MSG> Parse FieldAccessExpr as left-associative (#140)

* Parse field access as left-associative
* Simplify the field access Psi; remove the dummy reference
* Improve test coverage of field accessors
* improve parse error recovery on field access and binary operator expressions
<DFF> @@ -19,7 +19,7 @@ Elm File
       ElmValueExpr(VALUE_EXPR)
         ElmValueQID(VALUE_QID)
           PsiElement(LOWER_CASE_IDENTIFIER)('mag')
-      PsiErrorElement:<expression>, COMMA, OPERATOR_IDENTIFIER or RIGHT_PARENTHESIS expected, got '
+      PsiErrorElement:<expr>, COMMA, OPERATOR_IDENTIFIER or RIGHT_PARENTHESIS expected, got '
 '
         <empty list>
   PsiElement(VIRTUAL_END_DECL)('\n')
@@ -55,7 +55,7 @@ Elm File
       ElmValueExpr(VALUE_EXPR)
         ElmValueQID(VALUE_QID)
           PsiElement(LOWER_CASE_IDENTIFIER)('m')
-      PsiErrorElement:<expression>, COMMA, OPERATOR_IDENTIFIER or RIGHT_PARENTHESIS expected, got '
+      PsiErrorElement:<expr>, COMMA, OPERATOR_IDENTIFIER or RIGHT_PARENTHESIS expected, got '
 '
         <empty list>
   PsiElement(VIRTUAL_END_DECL)('\n')

Parse FieldAccessExpr as left-associative (#140)