C Language Grammar

Source: Internet
Author: User

C Language Grammar

source program → External declarations | Sub-Program (external Declaration)

External declarations → Function definitions | function declaration

function definition → type identifier (compound sentence)

identifier type → no type | Character Type | Integral type | Floating point Type

integral type → long integer type | Short-integer | Unsigned integral type

Declaration → Pointer Direct declaration | Direct declaration

Pointer →* | * pointer

Direct Declaration → identifiers | Direct declaration []| Direct declaration [constant Expression]| Identifiers (parameter list) | Identifier () | (Direct declaration, List of identifiers)

Identifier list → identifiers | (identifier list, identifier)

Constant-expression → conditional-expression

parameter list → parameter declaration | (parameter list, parameter declaration)

parameter declaration → Descriptor declaration, identifier

Compound Statement →{} | {Statement List} | {Declaring list statement list}

Declaration List → Declaration | Declaration List Declaration

Declaration → Initialization Declaration | (Initialize declaration list, initialize declaration)

Declaration of initialization → Declaration | Declaration = Initialization Program

Initialization program → expression | {initialization Program List} | {Initialization program list,}

Initialization program list → initialization Program | (Initialize program list, initialize program)

Statement List → statements | Statement list

Statement → statement | Compound Statement | Expression Statements | SELECT statement | Loop Statement | JUMP statement

expression statement → expression;

SELECT statement →if (expression) statement | IF (expression) statement | ELSE statement

Loop statement →while (expression) statement | For (an expression statement; An expression statement) | For (an expression statement; An expression statement; An expression statement)

Jump Statement | continue; |breack; | return; | return expression;

Expression → assignment expression | (An expression, an assignment expression)

assignment expression → conditional expression | unary expression (Assignment operator) assignment expression

conditional expression → logical ' or ' expression | logical ' or ' expression? Expression: Conditional expression

Logical ' or ' expression → logic ' and ' expression | logic ' or ' expression ' or ' operation | logic ' and ' expression

Logic ' and ' expression '-logic ' or ' expression | logic ' with ' expression ' and ' operation (logical ' or ' expression ')

or op-expression → xor expression | or expression ' | xor expression

equality expressions → relational expressions | Equality expression equals an expression of an operation relationship | An equality expression is not equal to an expression of an operation relationship

addition expression → multiplication expression >| (addition expression + multiplication expression) | (addition expression-multiplication expression)

multiplication expression → cast expression | (Multiplication expression * Cast expression) | (multiplication expression/cast expression) | (multiplicative expression% cast expression)

Basic Expressions → identifiers | Constants | string | (expression)

C Language Grammar

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.