DocumentCode
2165702
Title
CPP denotational semantics
Author
Favre, Jean-Marie
Author_Institution
Adele Team, Grenoble Univ., France
fYear
2003
fDate
26-27 Sept. 2003
Firstpage
22
Lastpage
31
Abstract
We show that CPP, the preprocessor of the C language, can be seen as a programming language in which directives are statements, parametrized macros are functions, files are procedures, directories are modules, and command lines are programs. The semantics of CPP can therefore be described using traditional techniques. We describe the semantics of CPP in a denotational style. By contrast with previous work, the full semantics is taken into account including nontrivial aspects such as recursive macros, stringification and concatenation.
Keywords
C language; macros; program processors; programming language semantics; C language preprocessor; CPP; denotational semantics; parametrized macros; programming language; recursive macros; Computer languages; Conferences; Formal languages; Formal specifications; HTML; Java; Libraries;
fLanguage
English
Publisher
ieee
Conference_Titel
Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on
Print_ISBN
0-7695-2005-7
Type
conf
DOI
10.1109/SCAM.2003.1238028
Filename
1238028
Link To Document