All meta languages
-
date post
13-Sep-2014 -
Category
Education
-
view
557 -
download
1
description
Transcript of All meta languages
![Page 1: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/1.jpg)
![Page 2: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/2.jpg)
Symbol Meaning
Predefined element
Fixed element
Path lines
![Page 3: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/3.jpg)
� Allowable Paths – follow the railroad from left to right and follow only one path
![Page 4: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/4.jpg)
� Eg, letter, sentence, program, variable name
Variable
![Page 5: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/5.jpg)
� Reserved words,(Cannot use these words as variables (memory allocation) e.g., Dim, -+, 0, 1
Dim
As
![Page 6: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/6.jpg)
� Eg, A Boolean Constant
T
F
![Page 7: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/7.jpg)
� Eg, A word
Letter
![Page 8: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/8.jpg)
� Eg, a number that can be either positive or negative
_
Digit
![Page 9: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/9.jpg)
![Page 10: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/10.jpg)
Were created to make it easier to represent syntax
![Page 11: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/11.jpg)
Symbol Meaning :: = Is defined as
| Indicates choice between elements
< > Non terminal symbol
![Page 12: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/12.jpg)
BNF is a text based metalanguage that is
read right to left. This way, syntax can be
represented by text, rather than diagrams
![Page 13: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/13.jpg)
� Invented to avoid the disadvantages of
BNF.
� Easier to read, and less issues with things
like repetition and optional elements
![Page 14: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/14.jpg)
Symbol Meaning = Is defined as
| Indicates choice between elements
< > Non terminal symbol
{ } Encloses elements to be repeated
[ ] Encloses optional elements
![Page 15: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/15.jpg)
BNF EBNF
� ::=
� Boolean::=T|F
� =
� Boolean=T|F
![Page 16: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/16.jpg)
BNF EBNF
� < >
� <Digit>::-0|1|2| � <Letter>::-a|b|c
� < >
� <Digit>=0|1|2| � <Letter>=a|b|c
![Page 17: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/17.jpg)
BNF EBNF
� Written as is
� Dim � If � 0 � 1 � k
� Written as is
� Dim � If � 0 � 1 � k
![Page 18: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/18.jpg)
BNF EBNF
� Defined as |
� Boolen::-T|F
� Defined as |
� Boolen=T|F
![Page 19: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/19.jpg)
BNF EBNF
� No Optional Elements, so each option must be repeated
Integer::- - {<digit>} |{<digit>}
� [ ]
� Integer=[-] {<digit>}
![Page 20: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/20.jpg)
BNF EBNF
� No repetition � Repetition through
recursion � Recursion is repetition
achieved through a process calling itself
� Indicated by { } � Word={Letter} � Repeated zero or more
times � If it needs to be repeated
one or more times, it is written as
� Word=Letter{Letter}
![Page 21: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/21.jpg)
Dim
Public
Private
Variable As Data Type
![Page 22: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/22.jpg)
Boolean
Byte
Char
Date
Time
Decimal
Double
Int
Long
Short Single
![Page 23: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/23.jpg)
Upper Case
LowerCase
UpperCase
Digit
![Page 24: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/24.jpg)
1
2
3
4
5
6
7
8
9
0
![Page 25: All meta languages](https://reader034.fdocuments.net/reader034/viewer/2022042606/5413d1ea8d7f727d698b4721/html5/thumbnails/25.jpg)
� Construct an EBNF diagram to describe a best practice, legal if statement.
� Should follow the following structure: � If condition Then statements Else else
statements