Software Engineering Measurement
|
|
A2.8 Tokens
A2.8.1 Operand Tokens
Identifier Constant String_Literal Function_Call
A2.8.2 Operator Tokens
A2.8.2.1 Keywords
auto break case char continue const default do double else enum extern float for goto if int long noalias register return short signed sizeof static struct switch typedef union unsigned volatile void while
A2.8.2.2 Punctuation
:as label operation ;as statement delimiter
A2.8.2.3 Blocks
{ } as block delimiters
A2.8.2.4 Unary Operators
&as address operator *as pointer operator -as minus operator +as plus operator !as not operator sizeof( ) (<type>)cast operators ~as integer complement operator ++as integer prefix increment operator ++as short prefix increment operator ++as long prefix increment operator ++ as float prefix increment operator ++ as double prefix increment operator --as integer prefix decrement operator -- as short prefix decrement operator --as long prefix decrement operator --as float prefix decrement operator --as double prefix decrement operator ++as integer postfix increment operator ++as short postfix increment operator ++as long postfix increment operator ++as float postfix increment operator ++as double postfix increment operator --as integer postfix decrement operator --as short postfix decrement operator --as long postfix decrement operator --as float postfix decrement operator --as double postfix decrement operator
A2.8.2.5 Function Calls as Operators
intfunction call shortfunction call longfunction call floatfunction call doublefunction call charfunction call voidfunction call
A2.8.2.6 Array Operators
[ ]
A2.8.2.7 Structure Operators
.as structure operator ->as structure operator
A2.8.2.8 Primary Operators
( )
A2.8.2.9 Assignment Operators
=integer =short integer =long integer =float =double float = char =string =array =struct *=integer multiplication *=short multiplication *=long multiplication *=float multiplication *=double multiplication /=integer division /=short division /=long division /=float division /=double division %=integer modulus %=short modulus %=long modulus +=integer addition +=short addition +=long addition +=float addition +=double addition -=integer subtraction -=short subtraction -=long subtraction -=float subtraction -=double subtraction <<= >>= &= ^= |=
A2.8.2.10 Conditional Operators
? :
A2.8.2.11 Logical Operators
|| && | ^ &
A2.8.2.12 Relational Operators
< > <= >= == !=
A2.8.2.13 Shift Operators
>> <<
A2.8.2.14 Addition Operators
+integer addition +short addition +long addition +float addition +double addition -integer subtraction -short subtraction -long subtraction -float subtraction -double subtraction
A2.8.2.15 Multiplying Operators
*integer multiplication *short multiplication *long multiplication *float multiplication *double multiplication %integer modulus operation %short modulus operation %long modulus operation /integer division /short division /long division /float division /double division
A2.8.3 Compiler Directives
There follows a list of compiler directives that must be resolved before the measurement process can begin.
#include #define #undef #if #ifdef #ifndef #else #endif #elif #error #pragma #
A2.8.4 C Functions
A2.8.4.1 Math
abs acos asin atan ceil cos cosh exp fabs floor log log10 pow rand sin sing sqrt tan tanh
A2.8.4.2 Memory Allocation
calloc free malloc
A2.8.4.3 Input/Output
close creat fclose fgetc fgets fopen fprintf fputc fputs fread fscanf fseek ftell fwrite getc getchar gets lseek open printf putc putchar puts read scanf sprintf sscanf ungetc
A2.8.4.4 Type and Conversion
atof atoi atol isalnum isalpha isascii isatty iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit toascii tolower toupper
A2.8.4.5 String
strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn
A2.8.4.6 Miscellaneous
exit signal sleep system time
|
|