class_docstr: ``DynamicTypeLogicParser`` is a ``LogicParser`` that can deal with ``NamedBasicType`` and
  ``PlaceholderType`` appropriately. Our extension here does two things differently.
  
  Firstly, we should handle constants of different types. We do this by passing a dict of format
  ``{name_prefix: type}`` to the constructor. For example, your domain has entities of types
  unicorns and elves, and you have an entity "Phil" of type unicorn, and "Bob" of type "elf". The
  names of the two entities should then be "unicorn:phil" and "elf:bob" respectively.
  
  Secondly, since we defined a new kind of ``ApplicationExpression`` above, the ``LogicParser``
  should be able to create this new kind of expression.
class_docstr_tok: ["``","DynamicTypeLogicParser","``","is","a","``","LogicParser","``","that","can","deal","with","``","NamedBasicType","``","and","``","PlaceholderType","``","appropriately",".","Our","extension","here","does","two","things","differently",".","Firstly",",","we","should","handle","constants","of","different","types",".","We","do","this","by","passing","a","dict","of","format","``","{","name_prefix",":","type","}","``","to","the","constructor",".","For","example",",","your","domain","has","entities","of","types","unicorns","and","elves",",","and","you","have","an","entity","``","Phil","''","of","type","unicorn",",","and","``","Bob","''","of","type","``","elf","''",".","The","names","of","the","two","entities","should","then","be","``","unicorn",":","phil","''","and","``","elf",":","bob","''","respectively",".","Secondly",",","since","we","defined","a","new","kind","of","``","ApplicationExpression","``","above",",","the","``","LogicParser","``","should","be","able","to","create","this","new","kind","of","expression","."]
code: def make_ApplicationExpression(self, function, argument):
      return DynamicTypeApplicationExpression(
          function, argument, self._variables_with_placeholders
      )
  
imports: from __future__ import absolute_import
  from collections import defaultdict
  from nltk.sem.logic import Expression, ApplicationExpression, ConstantExpression, LogicParser, Variable
  from nltk.sem.logic import Type, BasicType, ComplexType, ANY_TYPE
  from allennlp.common.util import START_SYMBOL
label_desc: Use image node_id 2 for calling the DynamicTypeLogicParser obj's underlying member method code with example usage: obj.make_ApplicationExpression(function, argument) and returns: DynamicTypeApplicationExpression