def _reset(self, text=None, filename=None, buffer_class=None, semantics=None, trace=None, comments_re=None, eol_comments_re=None, whitespace=None, ignorecase=None, nameguard=None, memoize_lookaheads=None, left_recursion=None, colorize=None, keywords=None, namechars='', **kwargs): if ignorecase is None: ignorecase = self.ignorecase if nameguard is None: nameguard = self.nameguard if memoize_lookaheads is not None: self.memoize_lookaheads = memoize_lookaheads if left_recursion is not None: self.left_recursion = left_recursion if trace is not None: self.trace = trace if semantics is not None: self.semantics = semantics if colorize is not None: self.colorize = colorize if keywords is not None: self.keywords = keywords if self.colorize: color.init() if namechars is not None: namechars = self.namechars self._initialize_caches() self._furthest_exception = None if isinstance(text, buffering.Buffer): buffer = text else: buffer_class = buffer_class or self.buffer_class buffer = buffer_class(text, filename=filename, comments_re=comments_re or self.comments_re, eol_comments_re=eol_comments_re or self.eol_comments_re, whitespace=notnone(whitespace, default=self.whitespace), ignorecase=ignorecase, nameguard=nameguard, namechars=namechars, **kwargs) self._buffer = buffer
def parse(self, text, rule_name=None, start=None, filename=None, semantics=None, trace=False, context=None, whitespace=None, ignorecase=None, left_recursion=None, comments_re=None, eol_comments_re=None, parseinfo=None, nameguard=None, namechars=None, **kwargs): # pylint: disable=W0221 start = start if start is not None else rule_name start = start if start is not None else self.rules[0].name ctx = context or ModelContext( self.rules, trace=trace, keywords=self.keywords, **kwargs) semantics = notnone(semantics, self.semantics) left_recursion = notnone(left_recursion, self.left_recursion) parseinfo = notnone(parseinfo, self._use_parseinfo) comments_re = notnone(comments_re, self.comments_re) eol_comments_re = notnone(eol_comments_re, self.eol_comments_re) nameguard = notnone(nameguard, self.nameguard) namechars = notnone(namechars, self.namechars) whitespace = notnone(whitespace, self.whitespace) ignorecase = notnone(ignorecase, self.ignorecase) if whitespace: whitespace = re.compile(whitespace) return ctx.parse(text, rule_name=start, filename=filename, semantics=semantics, trace=trace, whitespace=whitespace, ignorecase=ignorecase, comments_re=comments_re, eol_comments_re=eol_comments_re, left_recursion=left_recursion, parseinfo=parseinfo, nameguard=nameguard, namechars=namechars, **kwargs)
def _reset(self, text=None, filename=None, buffer_class=None, semantics=None, trace=None, comments_re=None, eol_comments_re=None, whitespace=None, ignorecase=None, nameguard=None, memoize_lookaheads=None, left_recursion=None, colorize=None, keywords=None, namechars='', **kwargs): if ignorecase is None: ignorecase = self.ignorecase if nameguard is None: nameguard = self.nameguard if memoize_lookaheads is not None: self.memoize_lookaheads = memoize_lookaheads if left_recursion is not None: self.left_recursion = left_recursion if trace is not None: self.trace = trace if semantics is not None: self.semantics = semantics if colorize is not None: self.colorize = colorize if keywords is not None: self.keywords = keywords if self.colorize: color.init() if namechars is not None: namechars = self.namechars self._initialize_caches() self._furthest_exception = None if isinstance(text, buffering.Buffer): buffer = text else: buffer_class = buffer_class or self.buffer_class buffer = buffer_class( text, filename=filename, comments_re=comments_re or self.comments_re, eol_comments_re=eol_comments_re or self.eol_comments_re, whitespace=notnone(whitespace, default=self.whitespace), ignorecase=ignorecase, nameguard=nameguard, namechars=namechars, **kwargs) self._buffer = buffer