(TranslationUnit
    [(Program
        case_02
        ()
        []
        [(ImplicitNone
            []
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! local variable declaration"
                )]
            )
        )]
        [(Declaration
            (AttrType
                TypeInteger
                []
                ()
                ()
                None
            )
            []
            [(marks
            []
            []
            ()
            ()
            None
            ())
            (out
            []
            []
            ()
            ()
            None
            ())]
            ()
        )]
        [(Assignment
            0
            marks
            81
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (Select
            0
            ()
            marks
            [(CaseStmt
                [(CaseCondRange
                    91
                    100
                )]
                ()
                [(Assignment
                    0
                    out
                    0
                    ()
                )
                (Print
                    0
                    ()
                    [(String "Excellent!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    81
                    90
                )]
                ()
                [(Assignment
                    0
                    out
                    1
                    ()
                )
                (Print
                    0
                    ()
                    [(String "Very good!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    71
                    80
                )]
                ()
                [(Assignment
                    0
                    out
                    2
                    ()
                )
                (Print
                    0
                    ()
                    [(String "Well done!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    61
                    70
                )]
                ()
                [(Assignment
                    0
                    out
                    3
                    ()
                )
                (Print
                    0
                    ()
                    [(String "Not bad!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    41
                    60
                )]
                ()
                [(Assignment
                    0
                    out
                    4
                    ()
                )
                (Print
                    0
                    ()
                    [(String "You passed!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    ()
                    40
                )]
                ()
                [(Assignment
                    0
                    out
                    5
                    ()
                )
                (Print
                    0
                    ()
                    [(String "Better try again!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt_Default
                ()
                [(Assignment
                    0
                    out
                    6
                    ()
                )
                (Print
                    0
                    ()
                    [(String "Invalid marks")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            ()
        )
        (Print
            0
            ()
            [(String "Your marks are ")
            marks]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )
        (If
            0
            ()
            (/= out 1)
            [(ErrorStop
                0
                ()
                ()
                ()
            )]
            []
            ()
            ()
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! case default at the top"
                )]
            )
        )
        (Select
            0
            ()
            marks
            [(CaseStmt_Default
                ()
                [(Print
                    0
                    ()
                    [(String "Invalid marks")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    91
                    100
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Excellent!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    81
                    90
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Very good!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    71
                    80
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Well done!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    61
                    70
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Not bad!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    41
                    60
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "You passed!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    ()
                    40
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Better try again!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            ()
        )
        (Print
            0
            ()
            [(String "Your marks are ")
            marks]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)
                (Comment
                    "! case default in the middle"
                )]
            )
        )
        (Select
            0
            ()
            marks
            [(CaseStmt
                [(CaseCondRange
                    91
                    100
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Excellent!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    81
                    90
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Very good!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt_Default
                ()
                [(Print
                    0
                    ()
                    [(String "Invalid marks")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    71
                    80
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Well done!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    61
                    70
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Not bad!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    41
                    60
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "You passed!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )
            (CaseStmt
                [(CaseCondRange
                    ()
                    40
                )]
                ()
                [(Print
                    0
                    ()
                    [(String "Better try again!")]
                    (TriviaNode
                        []
                        [(EndOfLine)
                        (EndOfLine)]
                    )
                )]
            )]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
            ()
        )
        (Print
            0
            ()
            [(String "Your marks are ")
            marks]
            (TriviaNode
                []
                [(EndOfLine)
                (EndOfLine)]
            )
        )]
        []
    )]
)
