C Checker Reference Manual

January 1998

next section previous section current document TenDRA home page document index

E.1 - Basics
E.2 - Dump commands
E.3 - API information
E.4 - Base definitions
E.5 - Error commands
E.6 - File commands
E.7 - Identifier commands
E.8 - Scope commands
E.9 - String command
E.10 - Templates
E.11 - Token sort information
E.12 - Type information

E Dump format specification

E.1 Basics

	digit :	one of 0 1 2 3 4 5 6 7 8 9
	digit-sequence :
	number :
	string :
	location :
		number number number string string
		number number number string *
		number number number *
		number number *
		number *

E.2 Dump commands

	dump-file :
	command-list :
		command command-list
	command :
		B base-definition	base class graph
		I identifier-command	implicit declarations etc.
		O identifier identifier	overriding virtual function
		P type : type	promotion type specifier
		V number number string	version number
		X api-info	external token name
		Z template-info	template instance

E.3 API information

	api-info :
		identifier key identifier string

E.4 Base definitions

	virtual :
	base-class :
		number = virtualopt accessopt type-name

		number :
	base-list :
		base-graph base-list
	base-graph :
		base-class ( base-list )
	base-definition :
		identifier-key number base-graph
	base-number :
		number : type-name

E.5 Error commands

	error-command :
		EA error-argument	error argument
		EC error-info	continuation error
		EF location error-info	fatal error
		EI location error-info	internal error
		ES location error-info	serious error
		EW location error-info	warning
	error-info :
		error-name number number
	error-name :
		number = string
	error-argument :
		B base-number
		C scope-identifier
		E exp
		H hashid
		I identifier
		L location
		N nat
		S string
		T type
		V number
		V -number

E.6 File commands

	file-command :
		FD number = string stringopt	inclusion directory
		FE location	file end
		FIA location string	file include with <>
		FIE location string	include end-up
		FIN location string	file include with []
		FIQ location string	file include with ""
		FIR location	resume file
		FIS location string	include startup
		FS location directory	file start
	directory :

E.7 Identifier commands

	identifier-command :
		C identifier-info	call identifier
		D identifier-info type-info	define identifier
		L identifier-info	use identifier
		M identifier-info type-info	declare identifier
		Q identifier-info	end identifier definition
		T identifier-info type-info	tentatively define identifier
		U identifier-info	undefine identifier
		W identifier-info type-info	weak prototype
	identifier-info :
		identifier-key location identifier
	identifier-key :
		CD	static data member
		CF function-key	member function
		CM	data member
		CS function-key	static member function
		CV function-key	virtual member function
		E	enumerator
		FB function-key	builtin function
		FE function key	external function
		FS function-key	static function
		K	keyword
		L	label
		MB	built-in macro
		MF	function-like macro
		MO	object-like macro
		NA	namespace alias
		NN	namespace name
		TA	type alias
		TC	class tag
		TE	enum tag
		TS	struct tag
		TU	union tag
		VA	automatic variable
		VE	extern variable
		VP	function parameter
		VS	static variable
		XF	procedure token
		XO	object token
		XP	token parameter
		XT	template parameter
	function-key :
		C function-key	C linkage
		I function-key	inline
	identifier :
		number = hashid accessopt scope-identifier
	hashid :
		string	simple name
		C type	constructor
		D type	destructor
		O string	operator
		T type	conversion
	access :
		B	protected
		N	public
		P	private

E.8 Scope commands

	scope-command :
		SE scope-key location identifier	end scope
		SS scope-key location identifier	start scope
	scope-key :
		B	block scope
		CC	conditional scope
		N	namespace scope
		CF	false conditional scope
		CT	true conditional scope
		D	other declarative scope
		H	header scope
		S	class scope
	scope-identifier :

E.9 String command

	string-command :
		A location string	string literal
		AC location string	character literal
		ACL location string	wide character literal
		AL location string	wide string literal

E.10 Templates

	specialisation-info :
	template-info :
		identifier-key identifier token-application specialisation-info

E.11 Token sort information

	sort :
		ZEC type-info	constant expression
		ZEL type-info	lvalue expression
		ZER type-info	rvalue expression
		ZF type-info	function
		ZM type-info : type-name	member
		ZN	integral constant
		ZPS parameter-list-opt : sort	procedure type ()
		ZPG parameter-list-opt ; parameter-list-opt:sort 
			procedure type {}
		ZS	statement
		ZTA	arithmetic type
		ZTF	floating type
		ZTI	integral type
		ZTO	opaque type
		ZTP	scalar type
		ZTS	structure type
		ZTt parameter-list-opt :	template type
		ZTTS	structure tag 
		ZTTU	union tag
		ZTU	union type
		ZUF number	function macro
		ZUO	object macro
	exp :
	member :
	statement :
	token-argument :
		C identifier	template argument
		E exp	expression argument
		F identifier	function argument
		M member	member argument
		N nat	integer constant argument
		S statement	statement argument
		T type-info	type argument
	token-argument-list :
		token-argument , token-argument-list
	token-application :
		T identifier , token-argument-list :

E.12 Type information

	type-info :
		scope-identifier	for namespace alias
		sort	for token, macro etc.
		type	for variable etc.
		type identifier-opt	for overloaded function
	type :
		qualifieropt unqualified-type
	qualifier :
		C	const
		V	volatile
		CV	const volatile
	unqualified-type :
		c	char
		s	short
		i	int
		l	long
		x	long long
		f	float
		d	double
		r	long double
		v	void
		b	bool
		w	wchar_t
		Sc	signed char
		Uc	unsigned char
		Us	unsigned short
		Ui	unsigned int
		Ul	unsigned long
		Ux	unsigned long long
		u	bottom
		y	ptrdiff_t
		z	size_t
		a type : type	arithmetic type
		n nat	literal type
		p type	promoted type
		t parameter-listopt : type	template type
		A natopt : type	array type
		B nat : type	bitfield type
		F type parameter-types	function type
		M type-name : type	pointer to member type
		P type	pointer type
		R type	reference type
		W type parameter-types	weak function type
		Q string	quoted type
		*	unknown type
	parameter-types :
		: exceptionopt qualifieropt :	no parameters
		. exceptionopt qualifieropt :	ellipsis
		. exceptionopt qualifieropt .	unknown
		, type parameter-types
	exception :
		( exception-listopt )
	exception-list :
		type, exception-list
	parameter-list :
		identifier , parameter-list
	type-name :
	nat :

Part of the TenDRA Web.
Crown Copyright © 1998.