Skip to content
UoL CS Notes

Language Components

COMP124 Lectures

Each HLL has three components:

  • Lexical Components (tokens)
  • Syntactical Components (structure)
  • Semantic Components (meaning)

Lexicon

The lexical component is a list of all the legal words (elementary expressions) in the language, together with information about each word.

Example

In Java import, public and else are legal words. They go together with information about their meanings and roles.

Syntax

The syntax defines the form and structure of legal expressions of the language

Example

In Java:

double private x, y;

is not a correct fragment of code. It is lexically correct but not syntactically.

Semantics

The semantic component deals with meaning of the expressions.

In programming languages, the semantic component defines a course of action to be performed when executing a particular fragment of a program.

Example

In Java, the fragment:

if (m < n)
	System.out.println("The minimum is " + m);

means:

Check if $m<n$. If it is true, then print the message, otherwise skip this instruction.

Programming Language Description

The precise description of a programming language is needed for the translator to:

  • analyse the source code;
  • generate correct and unambiguous code.

A key part of the precise description of any programming language is the syntax rules that make up its grammar.

Informal Narrative Description

This is an English language description of the language:

Pascal is written free form with no required layout. Tokens are separated by space, tabs, carriage returns, or comments. The basic Pascal structure is the block. A block consists of the following components:

label declarations
constant definitions
...
procedure and functions declarations
program statements
...
  • It is easily understandable by a human and it is useful as a reference source.
  • It is not precise and unambiguous enough to be used by a compiler or interpreter.
  • We need a much more formal way to define the correct syntax of a language.