SlideShare a Scribd company logo
1 of 2
Download to read offline
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

More Related Content

What's hot

What's hot (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
 

Viewers also liked

Sorting & Extracting Data
Sorting & Extracting DataSorting & Extracting Data
Sorting & Extracting Datamary_ramsay
 
Sdd Testing & Evaluating
Sdd Testing & EvaluatingSdd Testing & Evaluating
Sdd Testing & Evaluatingmary_ramsay
 
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 operationmary_ramsay
 
Programming language
Programming languageProgramming language
Programming languageDhani Ahmad
 
ICT Laptop and Desktop Policy Final
ICT  Laptop and Desktop Policy FinalICT  Laptop and Desktop Policy Final
ICT Laptop and Desktop Policy FinalKel' Laquian
 
Functions Of Operating System
Functions Of Operating SystemFunctions Of Operating System
Functions Of Operating SystemDr.Suresh Isave
 
Algorithms and Flowcharts
Algorithms and FlowchartsAlgorithms and Flowcharts
Algorithms and FlowchartsDeva Singh
 

Viewers also liked (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
 

Similar to Software Design and Development Course Specs

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.pptssuser6ba09a
 
Complete Tokens in c/c++
Complete Tokens in c/c++Complete Tokens in c/c++
Complete Tokens in c/c++Shobi P P
 
CH 2.pptx
CH 2.pptxCH 2.pptx
CH 2.pptxObsa2
 
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).pdfannamalassociates
 
Lexical Analysis - Compiler design
Lexical Analysis - Compiler design Lexical Analysis - Compiler design
Lexical Analysis - Compiler design Aman Sharma
 
Chapter Three(1)
Chapter Three(1)Chapter Three(1)
Chapter Three(1)bolovv
 
Ch 2.pptx
Ch 2.pptxCh 2.pptx
Ch 2.pptxwoldu2
 
Compiler Designs
Compiler DesignsCompiler Designs
Compiler Designswasim liam
 
Programming fundamental
Programming fundamentalProgramming fundamental
Programming fundamentalMukesh Thakur
 

Similar to Software Design and Development Course Specs (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
 

More from mary_ramsay

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

More from 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
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Software Design and Development Course Specs

  • 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