The syntax of a programming language is the set of rules that defines what combination of identifiers and other symbols are allowed. It is one of the factors that differentiates between languages, at least visually.
Complexity of syntax varies across languages, with some having very rules and others having extensive rules allowing for a lot of syntactic sugar. Syntax highlighting is a method of making source code more readable (by using different colors, font weights or sizes, etc.) by applying these styles to certain elements such as keywords and operators.
Special notations such as BNF are often used to define the syntax of a language, though it can't represent semantic limitations that may otherwise appear as valid syntax.