DESCRIBING SYNTAX AND SEMANTICS

DESCRIBING SYNTAX AND SEMANTICS

Syntax, form/structure of expression, statements, and program units that computer can interpret (grammar of the language). So syntax error will happen if the user executes command without using proper syntax.

Example: <assign> -> <var> = <expr>

Semantic, is meaning of the expression, statements, and program units. Syntax and semantics  provide language’s definition.

Grammar in programming languages is rules that determine the order of character(lexical token).

  • Unambigous grammar

<assign> → <id> = <expr>

<id>         → A | B | C | D

<expr>    → <expr> + <term> | <term>

<factor> → (<expr>) | <id>

 

  • Grammar for small language

<program> → begin<stmt_list>end

<stmt_list> → <stmt>

|  <stmt>; <stmt_list>

<stmt>    → <var>  = <expr>

<var>      → A|B|C|D

<expr>  → <var> + < var>

| <var> – <var>

| <var>

  • Grammar for simple assignment statement

<assign> → <id> = <expr>

<id>         →    A|B|C|D

<expr>    →  <id> + <expr>

|  <id> * <expr>

|  (<expr>)

|  <id>

Example of using gammar:   A = B + C

<assign> → <id> = <expr>

<assign> → A = <expr>

<assign> → A = <id> + <expr>

<assign> → A = <B> + <expr>

<assign> → A = <B> + <id>

<assign> → A = <B> + <C>

 

Parse tree,  graph that connected and  not circuler and have one root, from there it has route to every leaf.

Example:

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *