SlideShare a Scribd company logo
1 of 6
BNF OF C-SWITCHSTATEMENT
<switch_stmnt>-> switch (<int_exp>) {<case_list>}
<int_exp> -> <int_exp>+ <exp> |
<int_exp>- <exp> |
<int_exp>& <exp>|
<int_exp>| <exp>|
<int_exp>>> <exp>|
<int_exp><< <exp>|
<exp>
<exp> -> <exp>* <term > |
<exp>/ <term> |
<term >
<term > -> (<int_exp>) |
<num_exp>|
- <term> |
^<term>
<num_exp> -> <int_id>|
<int_const>
<int_id> -> [a-zA-Z_] |
<int_id>[a-zA-Z0-9_]
<int_const> -> [0-9] |
<int_const> [0-9] |
- <int_const>
<case_list> -> <case_line>|
<case_line><case_list>|
<case_list><default_line>
<case_line> -> case <int_const>: <stmnt_list>
<default_line> -> default: <stmnt_list>
<stmnt_list> -> |
<stmnt> |
<stmnt> <stmnt_list>|
<stmnt_list>break;
<stmnt> -> statement<count>;
<count> -> [0-9] |
[0-9] <count>
Example:
intx;
switch(x)
{
case 1:
statement1;
break;
case 2:
statement2;
break;
default:
statement3;
}
Derivation:
<switch_stmnt>=>switch ( <int_exp> ) { <case_list> }
=>switch ( <exp> ) { <case_list> }
=>switch ( <term> ) { <case_list> }
=>switch ( <num_exp> ) { <case_list> }
=>switch ( <int_id> ) { <case_list> }
=>switch ( x ) { <case_list> }
=>switch ( x ) { <case_line><case_line><default_line> }
=>switch ( x ) { case <int_const>:<stmnt_list><case_line><default_line> }
=>switch ( x ) { case 1: <stmnt_list><case_line><default_line> }
=>switch ( x ) { case 1: <stmnt>break; <case_line><default_line> }
=>switch ( x ) { case 1: statement<count>;break; <case_line><default_line> }
=>switch ( x ) { case 1: statement1;break; <case_line><default_line> }
=>switch ( x ) { case 1: statement1;break; case <int_const>:<stmnt_list><default_line> }
=>switch ( x ) { case 1: statement1;break; case 2:<stmnt_list><default_line> }
=>switch ( x ) { case 1: statement1;break; case 2:<stmnt>break;<default_line> }
=>switch ( x ) { case 1: statement1;break; case 2:statement<count>;break;<default_line> }
=>switch ( x ) { case 1: statement1;break; case 2:statement2;break;<default_line> }
=>switch ( x ) { case 1: statement1;break; case 2:statement2;break;default:<stmnt_list }
=>switch ( x ) { case 1: statement1;break; case 2:statement2;break;default:<stmnt>}
=>switch ( x ) { case 1: statement1;break; case 2:statement2;break;default:statement<count>;}
=>switch ( x ) { case 1: statement1;break; case 2:statement2;break;default:statement3;}
Parse Tree:
Crazy example:
int a, b, c;
switch((a*b)+c)>>9)
{
case 0:
case 1:
statement 2;
break;
case 2:
statement3;
break;
default:
statement4;
statement5;
}

More Related Content

What's hot

Python Collections Tutorial | Edureka
Python Collections Tutorial | EdurekaPython Collections Tutorial | Edureka
Python Collections Tutorial | EdurekaEdureka!
 
스프링 어플리케이션의 문제해결사례와 안티패턴
스프링 어플리케이션의 문제해결사례와 안티패턴스프링 어플리케이션의 문제해결사례와 안티패턴
스프링 어플리케이션의 문제해결사례와 안티패턴Sanghyuk Jung
 
Basic data structures in python
Basic data structures in pythonBasic data structures in python
Basic data structures in pythonCeline George
 
What is Dictionary In Python? Python Dictionary Tutorial | Edureka
What is Dictionary In Python? Python Dictionary Tutorial | EdurekaWhat is Dictionary In Python? Python Dictionary Tutorial | Edureka
What is Dictionary In Python? Python Dictionary Tutorial | EdurekaEdureka!
 
Introduction to pandas
Introduction to pandasIntroduction to pandas
Introduction to pandasPiyush rai
 
Python strings presentation
Python strings presentationPython strings presentation
Python strings presentationVedaGayathri1
 
The Functional Programmer's Toolkit (NDC London 2019)
The Functional Programmer's Toolkit (NDC London 2019)The Functional Programmer's Toolkit (NDC London 2019)
The Functional Programmer's Toolkit (NDC London 2019)Scott Wlaschin
 
Null values, insert, delete and update in database
Null values, insert, delete and update in databaseNull values, insert, delete and update in database
Null values, insert, delete and update in databaseHemant Suthar
 
virtual function
virtual functionvirtual function
virtual functionVENNILAV6
 
Java Methods
Java MethodsJava Methods
Java MethodsOXUS 20
 
Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3Traian Rebedea
 

What's hot (20)

Python Collections Tutorial | Edureka
Python Collections Tutorial | EdurekaPython Collections Tutorial | Edureka
Python Collections Tutorial | Edureka
 
스프링 어플리케이션의 문제해결사례와 안티패턴
스프링 어플리케이션의 문제해결사례와 안티패턴스프링 어플리케이션의 문제해결사례와 안티패턴
스프링 어플리케이션의 문제해결사례와 안티패턴
 
Generics
GenericsGenerics
Generics
 
Basic data structures in python
Basic data structures in pythonBasic data structures in python
Basic data structures in python
 
SQL
SQLSQL
SQL
 
Oop java
Oop javaOop java
Oop java
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
What is Dictionary In Python? Python Dictionary Tutorial | Edureka
What is Dictionary In Python? Python Dictionary Tutorial | EdurekaWhat is Dictionary In Python? Python Dictionary Tutorial | Edureka
What is Dictionary In Python? Python Dictionary Tutorial | Edureka
 
Introduction to pandas
Introduction to pandasIntroduction to pandas
Introduction to pandas
 
Python strings presentation
Python strings presentationPython strings presentation
Python strings presentation
 
The Functional Programmer's Toolkit (NDC London 2019)
The Functional Programmer's Toolkit (NDC London 2019)The Functional Programmer's Toolkit (NDC London 2019)
The Functional Programmer's Toolkit (NDC London 2019)
 
Null values, insert, delete and update in database
Null values, insert, delete and update in databaseNull values, insert, delete and update in database
Null values, insert, delete and update in database
 
Data dictionaries
Data dictionariesData dictionaries
Data dictionaries
 
virtual function
virtual functionvirtual function
virtual function
 
Regular Grammar
Regular GrammarRegular Grammar
Regular Grammar
 
Jdbc Ppt
Jdbc PptJdbc Ppt
Jdbc Ppt
 
Ch04
Ch04Ch04
Ch04
 
Java Methods
Java MethodsJava Methods
Java Methods
 
Introduction to OOP in Python
Introduction to OOP in PythonIntroduction to OOP in Python
Introduction to OOP in Python
 
Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3Algorithm Design and Complexity - Course 3
Algorithm Design and Complexity - Course 3
 

More from i i

Bouncing circle
Bouncing circleBouncing circle
Bouncing circlei i
 
0-1 KNAPSACK PROBLEM
0-1 KNAPSACK PROBLEM0-1 KNAPSACK PROBLEM
0-1 KNAPSACK PROBLEMi i
 
sequential and combinational circuits exam
sequential and combinational circuits examsequential and combinational circuits exam
sequential and combinational circuits exami i
 
hypothesis testing overview
hypothesis testing overviewhypothesis testing overview
hypothesis testing overviewi i
 
x86 architecture
x86 architecturex86 architecture
x86 architecturei i
 
boolean algebra exercises
boolean algebra exercisesboolean algebra exercises
boolean algebra exercisesi i
 
database normalization case study
database normalization case studydatabase normalization case study
database normalization case studyi i
 
cpbricks context diagram
cpbricks context diagramcpbricks context diagram
cpbricks context diagrami i
 
cpbricks project document
cpbricks project documentcpbricks project document
cpbricks project documenti i
 
cpbricks manual
cpbricks manualcpbricks manual
cpbricks manuali i
 
imperative programming language, java, android
imperative programming language, java, androidimperative programming language, java, android
imperative programming language, java, androidi i
 
shortest job first
shortest job firstshortest job first
shortest job firsti i
 
designing reports
designing reportsdesigning reports
designing reportsi i
 
shell and merge sort
shell and merge sortshell and merge sort
shell and merge sorti i
 
adders/subtractors, multiplexers, intro to ISA
adders/subtractors, multiplexers, intro to ISAadders/subtractors, multiplexers, intro to ISA
adders/subtractors, multiplexers, intro to ISAi i
 

More from i i (15)

Bouncing circle
Bouncing circleBouncing circle
Bouncing circle
 
0-1 KNAPSACK PROBLEM
0-1 KNAPSACK PROBLEM0-1 KNAPSACK PROBLEM
0-1 KNAPSACK PROBLEM
 
sequential and combinational circuits exam
sequential and combinational circuits examsequential and combinational circuits exam
sequential and combinational circuits exam
 
hypothesis testing overview
hypothesis testing overviewhypothesis testing overview
hypothesis testing overview
 
x86 architecture
x86 architecturex86 architecture
x86 architecture
 
boolean algebra exercises
boolean algebra exercisesboolean algebra exercises
boolean algebra exercises
 
database normalization case study
database normalization case studydatabase normalization case study
database normalization case study
 
cpbricks context diagram
cpbricks context diagramcpbricks context diagram
cpbricks context diagram
 
cpbricks project document
cpbricks project documentcpbricks project document
cpbricks project document
 
cpbricks manual
cpbricks manualcpbricks manual
cpbricks manual
 
imperative programming language, java, android
imperative programming language, java, androidimperative programming language, java, android
imperative programming language, java, android
 
shortest job first
shortest job firstshortest job first
shortest job first
 
designing reports
designing reportsdesigning reports
designing reports
 
shell and merge sort
shell and merge sortshell and merge sort
shell and merge sort
 
adders/subtractors, multiplexers, intro to ISA
adders/subtractors, multiplexers, intro to ISAadders/subtractors, multiplexers, intro to ISA
adders/subtractors, multiplexers, intro to ISA
 

Recently uploaded

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

bnf of c switch statement

  • 1. BNF OF C-SWITCHSTATEMENT <switch_stmnt>-> switch (<int_exp>) {<case_list>} <int_exp> -> <int_exp>+ <exp> | <int_exp>- <exp> | <int_exp>& <exp>| <int_exp>| <exp>| <int_exp>>> <exp>| <int_exp><< <exp>| <exp> <exp> -> <exp>* <term > | <exp>/ <term> | <term > <term > -> (<int_exp>) | <num_exp>| - <term> | ^<term> <num_exp> -> <int_id>| <int_const> <int_id> -> [a-zA-Z_] | <int_id>[a-zA-Z0-9_] <int_const> -> [0-9] | <int_const> [0-9] | - <int_const> <case_list> -> <case_line>| <case_line><case_list>| <case_list><default_line> <case_line> -> case <int_const>: <stmnt_list> <default_line> -> default: <stmnt_list> <stmnt_list> -> | <stmnt> | <stmnt> <stmnt_list>| <stmnt_list>break; <stmnt> -> statement<count>; <count> -> [0-9] | [0-9] <count>
  • 3. Derivation: <switch_stmnt>=>switch ( <int_exp> ) { <case_list> } =>switch ( <exp> ) { <case_list> } =>switch ( <term> ) { <case_list> } =>switch ( <num_exp> ) { <case_list> } =>switch ( <int_id> ) { <case_list> } =>switch ( x ) { <case_list> } =>switch ( x ) { <case_line><case_line><default_line> } =>switch ( x ) { case <int_const>:<stmnt_list><case_line><default_line> } =>switch ( x ) { case 1: <stmnt_list><case_line><default_line> } =>switch ( x ) { case 1: <stmnt>break; <case_line><default_line> } =>switch ( x ) { case 1: statement<count>;break; <case_line><default_line> } =>switch ( x ) { case 1: statement1;break; <case_line><default_line> } =>switch ( x ) { case 1: statement1;break; case <int_const>:<stmnt_list><default_line> } =>switch ( x ) { case 1: statement1;break; case 2:<stmnt_list><default_line> } =>switch ( x ) { case 1: statement1;break; case 2:<stmnt>break;<default_line> } =>switch ( x ) { case 1: statement1;break; case 2:statement<count>;break;<default_line> } =>switch ( x ) { case 1: statement1;break; case 2:statement2;break;<default_line> } =>switch ( x ) { case 1: statement1;break; case 2:statement2;break;default:<stmnt_list } =>switch ( x ) { case 1: statement1;break; case 2:statement2;break;default:<stmnt>} =>switch ( x ) { case 1: statement1;break; case 2:statement2;break;default:statement<count>;} =>switch ( x ) { case 1: statement1;break; case 2:statement2;break;default:statement3;}
  • 4.
  • 6. Crazy example: int a, b, c; switch((a*b)+c)>>9) { case 0: case 1: statement 2; break; case 2: statement3; break; default: statement4; statement5; }