!7

set flag NoFancyMechParsing.

sclass MatchInput > DynPrintLogWithInput {
  start { dm_useLocallyCopiedMechLists(); }
  
  void update(S s) {
    L<S> tok = printStruct(javaTokWithAngleBracketsC(print("\n> ", s)));
    SS categories = mechMapCI("Word categories");
    printStruct(categories);
    
    for (S word : tok)
      for (S key, S listName : categories) {
        if (mechSetCI(listName).contains(word))
          print(word + " => " + key);
      }
  }
}