1014 C language Grammar definition and the derivation process of C program

Source: Internet
Author: User

Program-< external declarations >< programs >< external declarations >

External declarations, < function definitions >|< declarations >

function definition < function type >< specifier >< compound statement >

function type, void|char|int|float

Specifiers < pointers >< Direct specifiers >|< Direct specifiers >

Pointers <*>|<*>< Pointers >

Direct specifier-< identifier >|< direct specifier []>|< direct specifier [constant expression]>|< identifier (parameter sequence) >|< identifier () >|< direct specifier, identifier sequence >

Identifier sequence, < identifier >|< identifier sequence ><,>< identifier >

Constant expressions-< conditional expressions >

Parameter sequence, < parameter declaration >|< parameter declaration ><,>< parameter declaration >

Parameter declarations, < declaration specifiers >< declarators >

Compound statement, <{}>|<{< statement sequence >}>|<{< declaration sequence >< statement sequence >}>

Declaring sequences-< declarators >|< declaring sequences >< declarators >

declarator < initialization specifier >|< initialization specifier ><,>< initialization specifier >

initialization specifier, < specifier >|< specifier ><=>< initializer >

Initialization program-< Assignment expressions >|<{< initialization sequences >}>|<{< initialization sequences ><,>}>

Initialize sequence < initialization program >|< initialize sequence ><,>< initialize >

Statement sequence-< statement statement >|< statement Sequence >< statement statement >

Statement-< COMPOUND statement >|< expression statement >|< SELECT statement >|< Loop Statement >|< Transfer Statement >

Expression statements, <;>|< expressions ><;>

SELECT statement--<IF (expression) statement >| <IF (expression) statement statement ><,><else Statement >

Looping statements, <for (< expression statements >< expression statements >< expressions >) >|<for (< expression statements >< expression statements >< expressions >) > <,>< Statement Statements >

Transfer statement-Continue|break|return|return < expressions ><;>

Expressions-< Assignment expressions >|< expressions ><,>< Assignment Expressions >

Assignment expressions-< conditional expressions >|< unary Expressions >< assignment operators >< Assignment Expressions >

Conditional expressions, < logical OR expression >|< logical or expression ><?>< expressions >< conditional Expressions >

Logic or expression, < logic or expression >|< logic or expression >< arithmetic logic and expression >

Operational logic and expression-< inclusiveness or expression >|< inclusiveness or expression >< arithmetic containment or expression >

Inclusion or expression, < XOR or expression >|< inclusiveness or expression ><|>< xor or expression >

XOR Expressions < Expressions >|< xor expressions ><^>< and Expressions >

With expressions < equality expressions >|< expressions ><&>< Equality Expressions >

Equality expressions, < relationships >|< equality Expressions >< op-relations >

Relationships-< Mobile >|< relationship >< ' < ' >< mobile >|<-Relationship >< ' > ' >< mobile >

Mobile-< progressive >|< mobile > <left_op >< Cumulative >|<> Mobile ><right_op >< Cumulative >

Cumulative < multiplication >|< Mobile ><+> < multiplicative > |< mobile ><->< multiplication >

Multiplication-< conversion expressions >|< conversion Expressions ><*>< multiplication > |< conversion Expressions ></>< multiply French > | < convert expressions ><%> < multiplication type >

Conversion expressions, < unary expressions >|< (type names) > < conversion expressions >

Unary expressions-< suffix expressions >|<inc_op > < unary expressions >|<dec_op > < unary expressions >|< unary operators > < conversion expressions >|<sizeof> < unary expressions >| <sizeof> < (type name) >  

Suffix expressions-< main expressions >| < conversion expressions ><[]>| < conversion Expressions >< () >| < conversion Expressions >< parameter Expressions list >| < convert expressions >

1014 C language Grammar definition and the derivation process of C program

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.