parameters: (self, text)
return_statement: return LineNode(nodes), text
docstring: r"""Reads one line from the text. Newline is supressed if the line ends with \.
          
              >>> readline = Parser('').readline
              >>> readline('hello $name!\nbye!')
              (<line: [t'hello ', $name, t'!\n']>, 'bye!')
              >>> readline('hello $name!\\\nbye!')
              (<line: [t'hello ', $name, t'!']>, 'bye!')
              >>> readline('$f()\n\n')
              (<line: [$f(), t'\n']>, '\n')
docstring_summary: r"""Reads one line from the text. Newline is supressed if the line ends with \.
          
              >>> readline = Parser('').readline
              >>> readline('hello $name!\nbye!')
              (<line: [t'hello ', $name, t'!\n']>, 'bye!')
              >>> readline('hello $name!\\\nbye!')
              (<line: [t'hello ', $name, t'!']>, 'bye!')
              >>> readline('$f()\n\n')
              (<line: [$f(), t'\n']>, '\n')
docstring_tokens: r Reads one line from the text . Newline is supressed if the line ends with \ . >>> readline = Parser ( ) . readline >>> readline ( hello $name! \ nbye! ) ( <line : [ t hello $name t ! \ n ] > bye! ) >>> readline ( hello $name! \\\ nbye! ) ( <line : [ t hello $name t ! ] > bye! ) >>> readline ( $f () \ n \ n ) ( <line : [ $f () t \ n ] > \ n )
function: def readline(self, text):
          r"""Reads one line from the text. Newline is supressed if the line ends with \.
          
              >>> readline = Parser('').readline
              >>> readline('hello $name!\nbye!')
              (<line: [t'hello ', $name, t'!\n']>, 'bye!')
              >>> readline('hello $name!\\\nbye!')
              (<line: [t'hello ', $name, t'!']>, 'bye!')
              >>> readline('$f()\n\n')
              (<line: [$f(), t'\n']>, '\n')
          """
          line, text = splitline(text)
  
          # supress new line if line ends with \
          if line.endswith('\\\n'):
              line = line[:-2]
                  
          nodes = []
          while line:
              node, line = self.read_node(line)
              nodes.append(node)
              
          return LineNode(nodes), text
function_tokens: def readline ( self , text ) : line , text = splitline ( text ) # supress new line if line ends with \ if line . endswith ( '\\\n' ) : line = line [ : - 2 ] nodes = [ ] while line : node , line = self . read_node ( line ) nodes . append ( node ) return LineNode ( nodes ) , text