parameters: (p)
docstring: program : program statement
                 | statement
docstring_summary: program : program statement
                 | statement
docstring_tokens: program : program statement | statement
function: def p_program(p):
      '''program : program statement
                 | statement'''
  
      if len(p) == 2 and p[1]:
         p[0] = { }
         line,stat = p[1]
         p[0][line] = stat
      elif len(p) ==3:
         p[0] = p[1]
         if not p[0]: p[0] = { }
         if p[2]:
             line,stat = p[2]
             p[0][line] = stat
function_tokens: def p_program ( p ) : if len ( p ) == 2 and p [ 1 ] : p [ 0 ] = { } line , stat = p [ 1 ] p [ 0 ] [ line ] = stat elif len ( p ) == 3 : p [ 0 ] = p [ 1 ] if not p [ 0 ] : p [ 0 ] = { } if p [ 2 ] : line , stat = p [ 2 ] p [ 0 ] [ line ] = stat