Meta Languages Railroad Diagrams
-
Upload
kelly-bauer -
Category
Education
-
view
2.306 -
download
1
Transcript of Meta Languages Railroad Diagrams
![Page 1: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/1.jpg)
Kelly Bauer
META LANGUAGES
![Page 2: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/2.jpg)
WHY? Describes the syntax of a computer
language
Rules that govern the arrangement of elements in a language
eg. The ran catORThe cat ran
![Page 3: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/3.jpg)
WHY NOT JUST LEARN THE LANGUAGE?
Programming languages are very complex. You cant possibly know every way to do everything that you want.
The likelihood is that you won’t program in the language you learn.
![Page 4: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/4.jpg)
![Page 5: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/5.jpg)
![Page 6: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/6.jpg)
WHY NOT JUST LEARN THE LANGUAGE?
Programming languages are very complex. You cant possibly know every way to do everything that you want.
The likelihood is that you won’t program in the language you learn.
Allows language specifications be understood by programmers and allows more learnability between languages
![Page 7: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/7.jpg)
2 BASIC FORMS Railroad diagram (aka syntax structure
diagrams) BNF/EBNF
![Page 8: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/8.jpg)
RAILROAD DIAGRAMS
![Page 9: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/9.jpg)
ELEMENTS Allowable Paths
![Page 10: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/10.jpg)
PRE DEFINED LANGAUGE ELEMENTS
Eg, letter, sentence, program, variable name
Variable
![Page 11: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/11.jpg)
FIXED ELEMENTS Reserved words, eg, Dim, -+, 0, 1
Dim
As
![Page 12: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/12.jpg)
THE ELEMENTS CAN BE COMBINED TO GIVE OPTIONS
Eg, A Boolean Constant
T
F
![Page 13: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/13.jpg)
OR TO REPEAT ELEMENTS Eg, A word
Letter
![Page 14: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/14.jpg)
AND THESE CAN THEN BE COMBINED Eg, a number that can be either
positive or negative
_
Digit
![Page 15: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/15.jpg)
TEXTBOOK Pg 168 Defines the Winston language
in railroad diagrams Is the following legitimate conditions
Abcd = +99
![Page 16: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/16.jpg)
ABCD = +99 Abcd is a legitimate identifier, because
it starts with an uppercase followed by a number of lower case
+99 is a legitimate constant because it is a negative followed by a number of digits
The statement follows the correct order of
Identifier condition constantDavis, Sam (2008) Software Design and Development: The Preliminary Course, Parramatta Education Centre, Sydney
![Page 17: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/17.jpg)
ABCD = +99 Abcd is a legitimate identifier, because
it starts with an uppercase followed by a number of lower case
+99 is a legitimate constant because it is a negative followed by a number of digits
The statement follows the correct order of
Identifier condition constant
![Page 18: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/18.jpg)
Complete 2nd activity on pg 168
TEXT ACTIVITY
![Page 19: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/19.jpg)
AN EXAMPLE
![Page 20: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/20.jpg)
IN VISUAL BASIC Construct a railroad diagram to
describe a best practice, legal variable declaration.
Should follow the following structure: Dim Public or Private Variable Name As
Data Type
![Page 21: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/21.jpg)
Dim
Public
Private
Variable As Data Type
From this, what needs to be further defined?
![Page 22: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/22.jpg)
DATA TYPE In Visual Basic, this can be Boolean,
Byte, Char, Date, Time, Decimal, Double, Int, Long, Object, Short, Single
![Page 23: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/23.jpg)
Boolean
ByteChar
Date
Time
DecimalDouble
IntLong
ShortSingle
![Page 24: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/24.jpg)
VARIABLES IN VB Must begin with an uppercase letter Can be lower or upper case or digits
after first letter
![Page 25: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/25.jpg)
Upper Case
LowerCase
UpperCase
Digit
![Page 26: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/26.jpg)
1
2
3
4
5
6
7
8
9
0
![Page 27: Meta Languages Railroad Diagrams](https://reader035.fdocuments.us/reader035/viewer/2022070519/58f2fe241a28ab3f708b4593/html5/thumbnails/27.jpg)
IMAGES FROM http://www.trs-80.com/trs80-mag-books.htm http://homepages.cwi.nl/~dik/english/codes/punched.html http://www.borislavdopudja.net/en/writings/cheating_google/