code: def parse(self, ctx, ref, text):
          
  
          self.ctx = ctx
          self.pos = error.Position(ref)
          self.top = None
          try:
              self.tokenizer = YangTokenizer(text, self.pos, ctx.errors,
                                             ctx.max_line_len, ctx.keep_comments,
                                             not ctx.lax_quote_checks)
              stmt = self._parse_statement(None)
          except error.Abort:
              return None
          except error.Eof as e:
              error.err_add(self.ctx.errors, self.pos, 'EOF_ERROR', ())
              return None
          try:
              # we expect a error.Eof at this point, everything else is an error
              self.tokenizer.peek()
          except error.Eof:
              return stmt
          except:
              pass
          error.err_add(self.ctx.errors, self.pos, 'TRAILING_GARBAGE', ())
          return None
docs: Parse the string `text` containing a YANG statement.
  
          Return a Statement on success or None on failure