MakeExpression[boxes, form] is the low-level function used in Mathematica sessions to construct expressions from boxes.
MakeExpression returns its result wrapped in HoldComplete.
form can be StandardForm, TraditionalForm, or other forms for which interpretation rules have been defined.
You can give definitions for MakeExpression[expr, form] to specify your own rules for how boxes should be converted to expressions.
MakeExpression is not automatically called on the results it generates. This means that explicit MakeExpression calls must typically be inserted into definitions for MakeExpression.
MakeExpression is used whenever boxes are supplied as input to Mathematica.
The boxes that are fed to MakeExpression are constructed from textual input by forming tokens, then grouping these according to standard Mathematica operator precedence rules, stripping out spacing characters. StyleBox and other objects not intended for interpretation are removed.
Definitions you give for MakeExpression will override built-in Mathematica rules for processing input.
Giving input prefaced by \! makes Mathematica effectively perform MakeExpression.