all meta languages

25

Post on 13-Sep-2014

557 views

Category:

Education


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: All meta languages
Page 2: All meta languages

Symbol Meaning

Predefined element

Fixed element

Path lines

Page 3: All meta languages

� Allowable Paths – follow the railroad from left to right and follow only one path

Page 4: All meta languages

� Eg, letter, sentence, program, variable name

Variable

Page 5: All meta languages

� Reserved words,(Cannot use these words as variables (memory allocation) e.g., Dim, -+, 0, 1

Dim

As

Page 6: All meta languages

� Eg, A Boolean Constant

T

F

Page 7: All meta languages

� Eg, A word

Letter

Page 8: All meta languages

� Eg, a number that can be either positive or negative

_

Digit

Page 9: All meta languages
Page 10: All meta languages

Were created to make it easier to represent syntax

Page 11: All meta languages

Symbol Meaning :: = Is defined as

| Indicates choice between elements

< > Non terminal symbol

Page 12: All meta languages

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

� 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

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

BNF EBNF

� ::=

� Boolean::=T|F

� =

� Boolean=T|F

Page 16: All meta languages

BNF EBNF

� < >

� <Digit>::-0|1|2| � <Letter>::-a|b|c

� < >

� <Digit>=0|1|2| � <Letter>=a|b|c

Page 17: All meta languages

BNF EBNF

� Written as is

� Dim � If � 0 � 1 � k

� Written as is

� Dim � If � 0 � 1 � k

Page 18: All meta languages

BNF EBNF

� Defined as |

� Boolen::-T|F

� Defined as |

� Boolen=T|F

Page 19: All meta languages

BNF EBNF

� No Optional Elements, so each option must be repeated

Integer::- - {<digit>} |{<digit>}

� [ ]

�  Integer=[-] {<digit>}

Page 20: All meta languages

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

Dim

Public

Private

Variable As Data Type

Page 22: All meta languages

Boolean

Byte

Char

Date

Time

Decimal

Double

Int

Long

Short Single

Page 23: All meta languages

Upper Case

LowerCase

UpperCase

Digit

Page 24: All meta languages

1

2

3

4

5

6

7

8

9

0

Page 25: All meta languages

� Construct an EBNF diagram to describe a best practice, legal if statement.

� Should follow the following structure: � If condition Then statements Else else

statements