Visitar URL original
Minor modernization for the tokenizer example by rhettinger · Pull Request #19558 · python/cpython · GitHub
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Minor modernization and readability improvement to the tokenizer example
  • Loading branch information
rhettinger committed Apr 16, 2020
commit f49eee3e5c79c7e616f1c5e8e23901a7fca6590f
8 changes: 6 additions & 2 deletions Doc/library/re.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1617,10 +1617,14 @@ The text categories are specified with regular expressions. The technique is
to combine those into a single master regular expression and to loop over
successive matches::

import collections
from typing import NamedTuple
import re

Token = collections.namedtuple('Token', ['type', 'value', 'line', 'column'])
class Token(NamedTuple):
type: str
value: str
line: int
column: int

def tokenize(code):
keywords = {'IF', 'THEN', 'ENDIF', 'FOR', 'NEXT', 'GOSUB', 'RETURN'}
Expand Down