User interface can be divided in to four different levels of which three are lexical, syntactic and semantic. Fourth is conceptual level. This is a top-down approach to designing systems starting from the conceptual level through semantic and syntactic to lexical level. It was developed by Foley and van Dam.
Conceptual level
On conceptual level you build conceptual model of the system. It contains all the objects and actions users need to know about to use the system.
To use the text editor user needs to know about characters, paragraphs, line heights, kerning etc. and actions they can do with them such as copy and paste.
Semantic level
On semantic level you define all semantic specification for each action identified in the conceptual level. Or if there are also other actions, for those actions as well. Your specification should include the description of the function, its parameters, feedback user gets and possible errors.
Text editor has a function for user to copy characters. Function has parameters which tells what characters to copy and from where. Function shows which characters are copied and shows error if copying is impossible.
Syntactic level
On syntactic level you define the syntax or the structure of the system. Syntax defines how different system states are connected. It should show how system responses to user's actions. Jacob has a good example of state diagram in his template for conceptual-semantic-syntactic-lexical model.
Lexical level
On lexical level you define how user actually interacts with the system. What user interface components are used to "physically" build the system defined on the syntactic level.
In text editor user can select the text with a mouse and can click a button which copies selected text on to clipboard.