SlideShare une entreprise Scribd logo
1  sur  2
Télécharger pour lire hors ligne
Software Design and Development Software and Course Specifications


Meta Languages

BNF                    Abbreviation for Backus-Naur form.
                       BNF is a metalanguage used to define the syntax of a
                       programming language. It uses the following symbols:

                       :: =                 ‘is defined as’

                                            (or) indicates a choice between
                                            alternatives

                       non-terminal symbol a symbol still to be defined

                       <>                   used to enclose non-terminal symbols

                       terminal symbol      is used as written.

EBNF                   Abbreviation for extended Backus-Naur form.

                       In this extended form the following symbols are used:

                       =                    ‘is defined as’

                                            ‘or’ indicates a choice between alternatives

                       terminal symbol      is used as written (may be a symbol
                                            enclosed in quotation marks or a reserved
                                            word written in upper case)

                       []                   indicate an optional part of a definition

                       {}                   indicate a possible repetition (0 or more
                                            times)

                       ()                   used to group elements together.

                       Example:
                       Identifier = <Letter> {<Letter>   <Digit>}

                       Interpretation:
                       An identifier is defined to be a Letter followed by one or
                       more Letters or Digits.

                       Letter is a non-terminal symbol and is defined elsewhere,
                       and Digit is another non-terminal symbol defined elsewhere.




                                       11
Software Design and Development Software and Course Specifications


Railroad diagram         This is an alternative, graphical method used to define the
                         syntax of a programming language.

                         Rectangles are used to enclose non-terminal symbols (that is,
                         symbols that will be further defined). Circles or rounded
                         rectangles are used to enclose terminal symbols. These
                         elements are linked by paths to show all legal combinations. By
                         starting at the left-hand side of the diagram and tracing any
                         path in a forward direction to reach the right-hand side of the
                         diagram, a syntactically correct construct will be covered.

                         (‘Railroad’ in this context means a branch in the diagram is
                         legal if it is treated as a set of points in a railroad layout and a
                         train can take the branch in a forward direction only).

                         Example:



                                                               Letter

                                    Letter

                                                               Digit




                                             12

Contenu connexe

Tendances

Lec 13. Introduction to Pointers
Lec 13. Introduction to PointersLec 13. Introduction to Pointers
Lec 13. Introduction to Pointers
Rushdi Shams
 
Context free grammars
Context free grammarsContext free grammars
Context free grammars
Ronak Thakkar
 

Tendances (19)

Variables and data types in C++
Variables and data types in C++Variables and data types in C++
Variables and data types in C++
 
Lecture02(constants, variable & data types)
Lecture02(constants, variable & data types)Lecture02(constants, variable & data types)
Lecture02(constants, variable & data types)
 
Enumerated data types
Enumerated data typesEnumerated data types
Enumerated data types
 
Lec 13. Introduction to Pointers
Lec 13. Introduction to PointersLec 13. Introduction to Pointers
Lec 13. Introduction to Pointers
 
Literals, primitive datatypes, variables, expressions, identifiers
Literals, primitive datatypes, variables, expressions, identifiersLiterals, primitive datatypes, variables, expressions, identifiers
Literals, primitive datatypes, variables, expressions, identifiers
 
Data types vbnet
Data types vbnetData types vbnet
Data types vbnet
 
Lect 9(pointers) Zaheer Abbas
Lect 9(pointers) Zaheer AbbasLect 9(pointers) Zaheer Abbas
Lect 9(pointers) Zaheer Abbas
 
C++
C++C++
C++
 
Java: Primitive Data Types
Java: Primitive Data TypesJava: Primitive Data Types
Java: Primitive Data Types
 
C programming tutorial
C programming tutorialC programming tutorial
C programming tutorial
 
Typedef
TypedefTypedef
Typedef
 
COM1407: Variables and Data Types
COM1407: Variables and Data Types COM1407: Variables and Data Types
COM1407: Variables and Data Types
 
C Sharp Nagina (1)
C Sharp Nagina (1)C Sharp Nagina (1)
C Sharp Nagina (1)
 
Data types in C
Data types in CData types in C
Data types in C
 
fundamentals of c
fundamentals of cfundamentals of c
fundamentals of c
 
Context free grammars
Context free grammarsContext free grammars
Context free grammars
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Data Type in C Programming
Data Type in C ProgrammingData Type in C Programming
Data Type in C Programming
 
6. describing syntax and semantics
6. describing syntax and semantics6. describing syntax and semantics
6. describing syntax and semantics
 

En vedette (14)

tugas 1
tugas 1tugas 1
tugas 1
 
Sorting & Extracting Data
Sorting & Extracting DataSorting & Extracting Data
Sorting & Extracting Data
 
Sdd Testing & Evaluating
Sdd Testing & EvaluatingSdd Testing & Evaluating
Sdd Testing & Evaluating
 
The role of the cpu in the operation
The role of the cpu in the operationThe role of the cpu in the operation
The role of the cpu in the operation
 
Sdd HSC Summary
Sdd HSC SummarySdd HSC Summary
Sdd HSC Summary
 
Programming language
Programming languageProgramming language
Programming language
 
Algorithms KS1 & KS2
Algorithms KS1 & KS2Algorithms KS1 & KS2
Algorithms KS1 & KS2
 
ICT Laptop and Desktop Policy Final
ICT  Laptop and Desktop Policy FinalICT  Laptop and Desktop Policy Final
ICT Laptop and Desktop Policy Final
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 
Writing algorithms
Writing algorithmsWriting algorithms
Writing algorithms
 
Functions Of Operating System
Functions Of Operating SystemFunctions Of Operating System
Functions Of Operating System
 
Types of operating system
Types of operating systemTypes of operating system
Types of operating system
 
Presentation on operating system
 Presentation on operating system Presentation on operating system
Presentation on operating system
 
Algorithms and Flowcharts
Algorithms and FlowchartsAlgorithms and Flowcharts
Algorithms and Flowcharts
 

Similaire à Sdd metalanguage

Chapter Two(1)
Chapter Two(1)Chapter Two(1)
Chapter Two(1)
bolovv
 
Compiler Design ug semLexical Analysis.ppt
Compiler Design ug semLexical Analysis.pptCompiler Design ug semLexical Analysis.ppt
Compiler Design ug semLexical Analysis.ppt
ssuser6ba09a
 
1) VariableIn programming, a variable is a container (storage area).pdf
1) VariableIn programming, a variable is a container (storage area).pdf1) VariableIn programming, a variable is a container (storage area).pdf
1) VariableIn programming, a variable is a container (storage area).pdf
annamalassociates
 
Chapter Three(1)
Chapter Three(1)Chapter Three(1)
Chapter Three(1)
bolovv
 
Programming fundamental
Programming fundamentalProgramming fundamental
Programming fundamental
Mukesh Thakur
 

Similaire à Sdd metalanguage (19)

Compilers Design
Compilers DesignCompilers Design
Compilers Design
 
Chapter Two(1)
Chapter Two(1)Chapter Two(1)
Chapter Two(1)
 
Syntax
SyntaxSyntax
Syntax
 
cunit1.pptx
cunit1.pptxcunit1.pptx
cunit1.pptx
 
SS UI Lecture 4
SS UI Lecture 4SS UI Lecture 4
SS UI Lecture 4
 
Compiler Design ug semLexical Analysis.ppt
Compiler Design ug semLexical Analysis.pptCompiler Design ug semLexical Analysis.ppt
Compiler Design ug semLexical Analysis.ppt
 
Meta Languages
Meta LanguagesMeta Languages
Meta Languages
 
Complete Tokens in c/c++
Complete Tokens in c/c++Complete Tokens in c/c++
Complete Tokens in c/c++
 
CH 2.pptx
CH 2.pptxCH 2.pptx
CH 2.pptx
 
1) VariableIn programming, a variable is a container (storage area).pdf
1) VariableIn programming, a variable is a container (storage area).pdf1) VariableIn programming, a variable is a container (storage area).pdf
1) VariableIn programming, a variable is a container (storage area).pdf
 
Lexical Analysis - Compiler design
Lexical Analysis - Compiler design Lexical Analysis - Compiler design
Lexical Analysis - Compiler design
 
Chapter Three(1)
Chapter Three(1)Chapter Three(1)
Chapter Three(1)
 
Ch 2.pptx
Ch 2.pptxCh 2.pptx
Ch 2.pptx
 
Compiler Design
Compiler DesignCompiler Design
Compiler Design
 
Compiler Designs
Compiler DesignsCompiler Designs
Compiler Designs
 
Pcd question bank
Pcd question bank Pcd question bank
Pcd question bank
 
Programming fundamental
Programming fundamentalProgramming fundamental
Programming fundamental
 
C++
C++C++
C++
 
Lexical analyzer
Lexical analyzerLexical analyzer
Lexical analyzer
 

Plus de mary_ramsay

Circumference of a Circle
Circumference of a CircleCircumference of a Circle
Circumference of a Circle
mary_ramsay
 
RWG 5 For Mac Training Guide
RWG 5 For Mac Training GuideRWG 5 For Mac Training Guide
RWG 5 For Mac Training Guide
mary_ramsay
 
SQL Structure Query Language
SQL Structure Query LanguageSQL Structure Query Language
SQL Structure Query Language
mary_ramsay
 
URL_universal Resourse Locator
URL_universal Resourse LocatorURL_universal Resourse Locator
URL_universal Resourse Locator
mary_ramsay
 
IPT Assessment Schedule 2012
IPT Assessment Schedule 2012IPT Assessment Schedule 2012
IPT Assessment Schedule 2012
mary_ramsay
 
Normalisation student summary
Normalisation student summaryNormalisation student summary
Normalisation student summary
mary_ramsay
 

Plus de mary_ramsay (7)

Circumference of a Circle
Circumference of a CircleCircumference of a Circle
Circumference of a Circle
 
RWG 5 For Mac Training Guide
RWG 5 For Mac Training GuideRWG 5 For Mac Training Guide
RWG 5 For Mac Training Guide
 
SQL Structure Query Language
SQL Structure Query LanguageSQL Structure Query Language
SQL Structure Query Language
 
URL_universal Resourse Locator
URL_universal Resourse LocatorURL_universal Resourse Locator
URL_universal Resourse Locator
 
IPT Assessment Schedule 2012
IPT Assessment Schedule 2012IPT Assessment Schedule 2012
IPT Assessment Schedule 2012
 
IPT HSC Summary
IPT HSC SummaryIPT HSC Summary
IPT HSC Summary
 
Normalisation student summary
Normalisation student summaryNormalisation student summary
Normalisation student summary
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Sdd metalanguage

  • 1. Software Design and Development Software and Course Specifications Meta Languages BNF Abbreviation for Backus-Naur form. BNF is a metalanguage used to define the syntax of a programming language. It uses the following symbols: :: = ‘is defined as’ (or) indicates a choice between alternatives non-terminal symbol a symbol still to be defined <> used to enclose non-terminal symbols terminal symbol is used as written. EBNF Abbreviation for extended Backus-Naur form. In this extended form the following symbols are used: = ‘is defined as’ ‘or’ indicates a choice between alternatives terminal symbol is used as written (may be a symbol enclosed in quotation marks or a reserved word written in upper case) [] indicate an optional part of a definition {} indicate a possible repetition (0 or more times) () used to group elements together. Example: Identifier = <Letter> {<Letter> <Digit>} Interpretation: An identifier is defined to be a Letter followed by one or more Letters or Digits. Letter is a non-terminal symbol and is defined elsewhere, and Digit is another non-terminal symbol defined elsewhere. 11
  • 2. Software Design and Development Software and Course Specifications Railroad diagram This is an alternative, graphical method used to define the syntax of a programming language. Rectangles are used to enclose non-terminal symbols (that is, symbols that will be further defined). Circles or rounded rectangles are used to enclose terminal symbols. These elements are linked by paths to show all legal combinations. By starting at the left-hand side of the diagram and tracing any path in a forward direction to reach the right-hand side of the diagram, a syntactically correct construct will be covered. (‘Railroad’ in this context means a branch in the diagram is legal if it is treated as a set of points in a railroad layout and a train can take the branch in a forward direction only). Example: Letter Letter Digit 12