LANGUAGE SYNTAX
ArgumentDeclaration: ObjectDeclaration ArgumentList: NameList Directive: #include "Filename" #include <Filename> #include Filename #define Name CharacterString?... #ifdef Name #ifndef Name #else #endif #asm #endasm Constant: Integer 'Character ' (escape sequence allowed) 'Character Character' (escape sequences allowed) ConstantExpression: Constant Operator ConstantExpression ConstantExpression Operator ConstantExpression ( ConstantExpression ) Declarator: Object Initializer? (global initializers only) EscapeSequence: \n (newline) \t (tab) \b (backspace) \f (formfeed) \ OctalInteger \ OtherCharacter Expression: Primary Operator Expression Expression Operator Expression Operator Expression FunctionDeclaration: void? Name (ArgumentList? )ArgumentDeclaration?... CompoundStatement GlobalDeclaration: ObjectDeclaration FunctionDeclaration Initializer: = ConstantExpression = {ConstantExpressionList } = StringConstant Object: Name *Name Name [ ConstantExpression? ] Name () (*Name )() (arguments and locals only) ObjectDeclaration: Type DeclaratorList ; extern Type? DeclaratorList ; (global only) Primary: Name Constant StringConstant Name [ Expression ] Primary ( ExpressionList? ) ( Expression ) Program: Directive... GlobalDeclaration... Statement: ; ExpressionList ; return ExpressionList? ; Name : goto Name ; if ( ExpressionList ) Statement if ( ExpressionList )Statement else Statement switch ( ExpressionList ) CompoundStatement case ConstantExpression : default : break ; while ( ExpressionList ) Statement for ( ExpressionList? ; ExpressionList? ; ExpressionList? ) Statement do Statement while ( ExpressionList ) ; continue ; { ObjectDeclaration?... Statement?... } StringConstant: " CharacterString " (escape sequences allowed) Type: char int unsigned unsigned char unsigned int