---
Summary: Python AST Structure
Updated: May 2016
git-hash: 411f613c7f0b0622e68bcb7aa5f020ce9251bf97
---
When a python program is parsed, it gets represented as an AST. This document (will) describe that structure.

    PyProgram( statements )

    statements: PyStatements(statement) 
                PyStatements(statement, statements)
                
    statement: assignment_statement
               print_statement
               general_expression
               EOL
               while_statement
               break_statement
               continue_statement
               if_statement
               for_statement
               pass_statement

    continue_statement : PyContinueStatement()
    pass_statement : PyPassStatement()
    print_statement : PyPrintStatement( expr_list )
    general_expression :PyExpressionStatement( general_expression)
    EOL : PyEmptyStatement()
    while_statement : PyWhileStatement(general_expression, statement_block)
    for_statement : PyForLoop(identifier, general_expression, statement_block)

    assignment_statement : PyAssignment(identifier, ASSIGN, general_expression)

    def p_assignment_statement(self, p):
        "assignment_statement : IDENTIFIER ASSIGN general_expression"

        identifier = PyIdentifier(p.lineno(1), p[1])

        











