meta languages railroad diagrams

27
Kelly Bauer META LANGUAGES

Upload: kelly-bauer

Post on 16-Apr-2017

2.306 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Meta Languages Railroad Diagrams

Kelly Bauer

META LANGUAGES

Page 2: Meta Languages Railroad Diagrams

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

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
Page 5: Meta Languages Railroad Diagrams
Page 6: Meta Languages Railroad Diagrams

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

2 BASIC FORMS Railroad diagram (aka syntax structure

diagrams) BNF/EBNF

Page 8: Meta Languages Railroad Diagrams

RAILROAD DIAGRAMS

Page 9: Meta Languages Railroad Diagrams

ELEMENTS Allowable Paths

Page 10: Meta Languages Railroad Diagrams

PRE DEFINED LANGAUGE ELEMENTS

Eg, letter, sentence, program, variable name

Variable

Page 11: Meta Languages Railroad Diagrams

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

Dim

As

Page 12: Meta Languages Railroad Diagrams

THE ELEMENTS CAN BE COMBINED TO GIVE OPTIONS

Eg, A Boolean Constant

T

F

Page 13: Meta Languages Railroad Diagrams

OR TO REPEAT ELEMENTS Eg, A word

Letter

Page 14: Meta Languages Railroad Diagrams

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

positive or negative

_

Digit

Page 15: Meta Languages Railroad Diagrams

TEXTBOOK Pg 168 Defines the Winston language

in railroad diagrams Is the following legitimate conditions

Abcd = +99

Page 16: Meta Languages Railroad Diagrams

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

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

Complete 2nd activity on pg 168

TEXT ACTIVITY

Page 19: Meta Languages Railroad Diagrams

AN EXAMPLE

Page 20: Meta Languages Railroad Diagrams

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

Dim

Public

Private

Variable As Data Type

From this, what needs to be further defined?

Page 22: Meta Languages Railroad Diagrams

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

Boolean

ByteChar

Date

Time

DecimalDouble

IntLong

ShortSingle

Page 24: Meta Languages Railroad Diagrams

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

Upper Case

LowerCase

UpperCase

Digit

Page 26: Meta Languages Railroad Diagrams

1

2

3

4

5

6

7

8

9

0