grammars and syntax

42

Upload: jose-enrique-alvarez-estrada

Post on 22-Jan-2018

44 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Grammars and Syntax
Page 2: Grammars and Syntax

A grammar is a formulato build phrases

in a given language

Page 3: Grammars and Syntax

The nature of the

language is

not important

Page 4: Grammars and Syntax

Languages

ProgrammingLanguages

UML

Mind Maps

GraphicalLanguages

SymbolicLanguages

BooleanLogic

Python

NaturalLanguagesEnglish

Conceptual Maps

Java

Spanish

Math

Page 5: Grammars and Syntax

There are two basic forms

to describe (document)

a grammar

Page 6: Grammars and Syntax

Graphically → Syntax Diagrams

Page 7: Grammars and Syntax
Page 8: Grammars and Syntax

bubblesdescribes

lexems

Page 9: Grammars and Syntax

bubblesdescribes

lexems

boxesdescribessyntagms

Page 10: Grammars and Syntax

bubblesdescribes

lexems

boxesdescribessyntagms

arrowsdescribes

correct paths

Page 11: Grammars and Syntax

a Compulsory (1 time)

Page 12: Grammars and Syntax

a

a

Compulsory (1 time)

Optional (0 or 1 times)

Page 13: Grammars and Syntax

a

b

a

a

Compulsory (1 time)

Optional (0 or 1 times)

Selection (“a” or “b”)

Page 14: Grammars and Syntax

a

b

a

a

a

Compulsory (1 time)

Optional (0 or 1 times)

Selection (“a” or “b”)

Repetition (1 or more times)

Page 15: Grammars and Syntax

a

b

a

a

a

a

Compulsory (1 time)

Optional (0 or 1 times)

Selection (“a” or “b”)

Repetition (1 or more times)

Repetition (0 or more times)

Page 16: Grammars and Syntax

Textually → EBNF Notation

Page 17: Grammars and Syntax
Page 18: Grammars and Syntax

syntagm

Page 19: Grammars and Syntax

syntagm lexem

Page 20: Grammars and Syntax

syntagm lexem

is defined as

Page 21: Grammars and Syntax

a

b

a

a

a

a

Compulsory (1 time)

Optional (0 or 1 times)

Selection (“a” or “b”)

Repetition (1 or more times)

Repetition (0 or more times)

[ a ]

a

[ a | b ]

{ a }+

{ a }*

Page 22: Grammars and Syntax

for example...

<boolean_expr> ::= <boolean_term> | <boolean_expr> v <boolean_term>

<boolean_term> ::= <boolean_element> | <boolean_element> ^ <boolean_element>

<boolean_element> ::= true | false | variable |~ ( <boolean_expr> ) | ( <boolean_expr> )

Page 23: Grammars and Syntax

~ A ^ B v A ^ ~ B

Page 24: Grammars and Syntax

~ A ^ B v A ^ ~ B

we run theexpression from

left to right

Page 25: Grammars and Syntax

~ A ^ B v A ^ ~ B

negationfirst

Page 26: Grammars and Syntax

~

~ A ^ B v A ^ ~ B

Page 27: Grammars and Syntax

~

A ^ B v A ^ ~ B

Page 28: Grammars and Syntax

~

A ^ B v A ^ ~ B

then the othernegation

Page 29: Grammars and Syntax

~

A ^ B v A ^ ~ B

~

Page 30: Grammars and Syntax

~

A ^ B v A ^ B

~

Page 31: Grammars and Syntax

~

A ^ B v A ^ B

~

thenthe ANDconjuntion

Page 32: Grammars and Syntax

~

^

A ^ B v A ^ B

~

Page 33: Grammars and Syntax

~

^

A B v A ^ B

~

Page 34: Grammars and Syntax

~

^

A B v A ^ B

~

and the otherAND

conjunción

Page 35: Grammars and Syntax

~

^

A B v A ^ B

~

^

Page 36: Grammars and Syntax

~

^

A B v A B

~

^

Page 37: Grammars and Syntax

~

^

A B v A B

~

^The OR

disyuntionat the last

Page 38: Grammars and Syntax

~

^

A B v A B

~

^

v

Page 39: Grammars and Syntax

~

^

A B A B

~

^

v

Page 40: Grammars and Syntax

~

^

A B A B

~

^

v finishedtree!

Page 41: Grammars and Syntax

~

^

A B A B

~

^

v

Page 42: Grammars and Syntax

Homework

Define a simple grammar for the sentences in English. Then test it with this phrases:

My friend runs slowly.The cat ate a mouse.