meta languages railroad diagrams student version

22
Kelly Bauer META LANGUAGES

Upload: kelly-bauer

Post on 05-Dec-2014

1.131 views

Category:

Technology


1 download

DESCRIPTION

Student Version of Meta Languages Railroad diagrams for uploading to wiki, without answers.

TRANSCRIPT

Page 1: Meta Languages Railroad Diagrams Student Version

Kelly Bauer

META LANGUAGES

Page 2: Meta Languages Railroad Diagrams Student Version

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 Student Version

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 4: Meta Languages Railroad Diagrams Student Version

2 BASIC FORMS

Railroad diagram (aka syntax structure diagrams)

BNF/EBNF

Page 5: Meta Languages Railroad Diagrams Student Version

RAILROAD DIAGRAMS

Page 6: Meta Languages Railroad Diagrams Student Version

ELEMENTS

Allowable Paths

Page 7: Meta Languages Railroad Diagrams Student Version

PRE DEFINED LANGAUGE ELEMENTS

Eg, letter, sentence, program, variable name

Variable

Page 8: Meta Languages Railroad Diagrams Student Version

FIXED ELEMENTS

Reserved words, eg, Dim, -+, 0, 1

Dim

As

Page 9: Meta Languages Railroad Diagrams Student Version

THE ELEMENTS CAN BE COMBINED TO GIVE OPTIONS

Eg, A Boolean Constant

T

F

Page 10: Meta Languages Railroad Diagrams Student Version

OR TO REPEAT ELEMENTS

Eg, A word

Letter

Page 11: Meta Languages Railroad Diagrams Student Version

AND THESE CAN THEN BE COMBINED Eg, a number that can be either

positive or negative

_

Digit

Page 12: Meta Languages Railroad Diagrams Student Version

TEXTBOOK

Pg 168 Defines the Winston language in railroad diagrams

Is the following legitimate conditions

Abcd = +99

Page 13: Meta Languages Railroad Diagrams Student Version

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 14: Meta Languages Railroad Diagrams Student Version

Complete 2nd activity on pg 168

TEXT ACTIVITY

Page 15: Meta Languages Railroad Diagrams Student Version

AN EXAMPLE

Page 16: Meta Languages Railroad Diagrams Student Version

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 17: Meta Languages Railroad Diagrams Student Version

DATA TYPE

In Visual Basic, this can be Boolean, Byte, Char, Date, Time, Decimal, Double, Int, Long, Object, Short, Single

Page 18: Meta Languages Railroad Diagrams Student Version

VARIABLES IN VB

Must begin with an uppercase letter Can be lower or upper case or digits

after first letter

Page 19: Meta Languages Railroad Diagrams Student Version

1

2

3

4

5

6

7

8

9

0

Page 20: Meta Languages Railroad Diagrams Student Version

CONSTRUCT A RAILROAD DIAGRAM OF A LEGAL IF STATEMENT FOR VISUAL BASIC

HW

Page 21: Meta Languages Railroad Diagrams Student Version

SYLLABUS SECTIONS?

Page 22: Meta Languages Railroad Diagrams Student Version

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/