anchor.diff:      |  need to:
   
   +list("numbers")
  -    +item
  -        |  Create a #[strong #[code Language] subclass] and
  -        |  #[a(href="#language-subclass") implement it].
  -
  +    +item Create a #[strong #[code Language] subclass].
       +item
           |  Define custom #[strong language data], like a
  -        |  #[a(href="#stop-words") stop list], #[a(href="#tag-map") tag map]
  -        |  and #[a(href="#tokenizer-exceptions") tokenizer exceptions].
  +        |  #[a(href="#stop-words") stop list] and
  +        |  #[a(href="#tokenizer-exceptions") tokenizer exceptions].
   
       +item
           |  #[strong Build the vocabulary] including
  
positive.code:     |  to keep this simple and readable. If the language requires very specific
      |  punctuation rules, you should consider overwriting the default regular
      |  expressions with your own in the language's #[code Defaults].
  
  p
      |  Here's an overview of the individual components that can be included
      |  in the language data. For more details on them, see the sections below.
  
  +table(["File name", "Variables", "Description"])
      +row
          +cell #[+src(gh()) stop_words.py]
          +cell #[code STOP_WORDS] (set)
          +cell
              |  List of most common words. Matching tokens will return #[code True]
              |  for #[code is_stop].
  
      +row
          +cell #[+src(gh()) tokenizer_exceptions.py]
          +cell #[code TOKENIZER_EXCEPTIONS] (dict), #[code TOKEN_MATCH] (regex)
          +cell
              |  Special-case rules for the tokenizer, for example, contractions
              |  and abbreviations containing punctuation.
  
      +row
          +cell #[+src(gh()) punctuation.py]
          +cell
              |  #[code TOKENIZER_PREFIXES], #[code TOKENIZER_SUFFIXES],
              |  #[code TOKENIZER_INFIXES] (dicts)
          +cell Regular expressions for splitting tokens, e.g. on punctuation.
  
      +row
          +cell #[+src(gh()) lex_attrs.py]
          +cell #[code LEX_ATTRS] (dict)
          +cell
              |  Functions for setting lexical attributes on tokens, e.g.
              |  #[code is_punct] or #[code like_num].
  
      +row
          +cell #[+src(gh()) tag_map.py]
          +cell #[code TAG_MAP] (dict)
          +cell
              |  Dictionary mapping strings in your tag set to
              |  #[+a("http://universaldependencies.org/u/pos/all.html") Universal Dependencies]
              |  tags.
  
      +row
          +cell #[+src(gh()) morph_rules.py]
          +cell #[code MORPH_RULES] (dict)
          +cell
  
      +row
          +cell #[+src(gh()) lemmatizer.py]
          +cell #[code LOOKUP] (dict)
          +cell
              |  Lookup-based lemmatization table. If more lemmatizer data is
              |  available, it should live in #[code /lemmatizer/lookup.py].
  
      +row
          +cell /lemmatizer
          +cell #[code LEMMA_RULES], #[code LEMMA_INDEX], #[code LEMMA_EXC] (dicts)
          +cell Lemmatization rules, keyed by part of speech.
  
  +h(3, "stop-words") Stop words
  
  
negative.code:         |  #[a(href="#word-vectors") word vectors].
  
      +item
          |  #[strong Set up] a #[a(href="#model-directory") model direcory] and
          |  #[strong train] the #[a(href="#train-tagger-parser") tagger and parser].
  
  p
      |  For some languages, you may also want to develop a solution for
  