SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
StackAST
Grammar
Text
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
StackAST
Grammar
Text
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
StackAST
Grammar
Text
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
StackAST
Grammar
Text
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
StackAST
Grammar
Text
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
StackAST
Grammar
Text
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
5.Multiplication
StackAST
Grammar
Text
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
5.Multiplication
6.PrimaryExpression
StackAST
Grammar
Text
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
5.Multiplication
6.PrimaryExpression
StackAST
Grammar
Text
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
5.Multiplication
6.PrimaryExpression
StackAST
Grammar
Text
1
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
5.Multiplication
6.PrimaryExpression
StackAST
Grammar
Text
1
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
5.Multiplication
StackAST
Grammar
Text
1
Reduce!
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
StackAST
Grammar
Text
1
Reduce!
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
StackAST
Grammar
Text
1
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
StackAST
Grammar
Text
1
+
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
StackAST
Grammar
Text
1
+
current = ruleMultiplication();
// {AdditionalExpression.left=current}
AdditionalExpression temp = new AdditionalExpression();
temp.setLeft(current);
current = temp:
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
StackAST
Grammar
Text
1
+
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
StackAST
Grammar
Text
1
+
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
StackAST
Grammar
Text
1
+
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
5.Multiplication
StackAST
Grammar
Text
1
+
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
5.Multiplication
6.PrimaryExpression
StackAST
Grammar
Text
1
+
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
4.Addition
StackAST
Grammar
Text
1
+
20
Reduce!
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
StackAST
Grammar
Text
1
+
20
Reduce!
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
StackAST
Grammar
Text
1
+
20
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
StackAST
Grammar
Text
1
+
20
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
StackAST
Grammar
Text
1
+
20
Reduce!
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
StackAST
Grammar
Text
1
+
20
*
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
StackAST
Grammar
Text
1
+
20
*
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
StackAST
Grammar
Text
1
+
20
*
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
StackAST
Grammar
Text
1
+
20
*
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
StackAST
Grammar
Text
1
+
20
*
2
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
3.PrimaryExpression
StackAST
Grammar
Text
1
+
20
*
EOF
2
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
StackAST
Grammar
Text
1
+
20
*
EOF Reduce!
2
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
2.Multiplication
StackAST
Grammar
Text
1
+
20
*
EOF
2
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
1.Addition
StackAST
Grammar
Text
1
+
20
*
EOF
2
Reduce!
Addition returns Expression:
Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*;
Multiplication returns Expression:
PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*;
PrimaryExpression returns Expression:
{NumberLiteral} value=INT |
'(' Addition ')';
( 1 + 20 ) * 2
StackAST
Grammar
Text
1
+
20
*
EOF
2
Finished!

Más contenido relacionado

La actualidad más candente

Introducción a Wiremock
Introducción a WiremockIntroducción a Wiremock
Introducción a WiremockJose Ortiz
 
Test-Driven Development of Xtext DSLs
Test-Driven Development  of Xtext DSLsTest-Driven Development  of Xtext DSLs
Test-Driven Development of Xtext DSLsmeysholdt
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with PythonLarry Cai
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScriptNascenia IT
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6Rob Eisenberg
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOPDzmitry Naskou
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentationThanh Tuong
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js ExpressEyal Vardi
 
gestion Comptes Bancaire SpringBoot-Exemple.pdf
gestion Comptes Bancaire SpringBoot-Exemple.pdfgestion Comptes Bancaire SpringBoot-Exemple.pdf
gestion Comptes Bancaire SpringBoot-Exemple.pdfMohamedHassoun11
 
Intro to Asynchronous Javascript
Intro to Asynchronous JavascriptIntro to Asynchronous Javascript
Intro to Asynchronous JavascriptGarrett Welson
 
Rest API Testing
Rest API TestingRest API Testing
Rest API Testingupadhyay_25
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot IntroductionJeevesh Pandey
 
React.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOMReact.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOMJimit Shah
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA경원 이
 

La actualidad más candente (20)

Express node js
Express node jsExpress node js
Express node js
 
Introducción a Wiremock
Introducción a WiremockIntroducción a Wiremock
Introducción a Wiremock
 
Test-Driven Development of Xtext DSLs
Test-Driven Development  of Xtext DSLsTest-Driven Development  of Xtext DSLs
Test-Driven Development of Xtext DSLs
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with Python
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6
 
Spring Framework - AOP
Spring Framework - AOPSpring Framework - AOP
Spring Framework - AOP
 
Express JS
Express JSExpress JS
Express JS
 
ReactJS presentation
ReactJS presentationReactJS presentation
ReactJS presentation
 
Node.js Express
Node.js  ExpressNode.js  Express
Node.js Express
 
gestion Comptes Bancaire SpringBoot-Exemple.pdf
gestion Comptes Bancaire SpringBoot-Exemple.pdfgestion Comptes Bancaire SpringBoot-Exemple.pdf
gestion Comptes Bancaire SpringBoot-Exemple.pdf
 
ReactJS
ReactJSReactJS
ReactJS
 
Intro to Asynchronous Javascript
Intro to Asynchronous JavascriptIntro to Asynchronous Javascript
Intro to Asynchronous Javascript
 
Rest API Testing
Rest API TestingRest API Testing
Rest API Testing
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
 
React.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOMReact.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOM
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Php
PhpPhp
Php
 
영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA영속성 컨텍스트로 보는 JPA
영속성 컨텍스트로 보는 JPA
 

Similar a Parsing Expression With Xtext

import java-util-Iterator- import java-util-NoSuchElementException- im.pdf
import java-util-Iterator- import java-util-NoSuchElementException- im.pdfimport java-util-Iterator- import java-util-NoSuchElementException- im.pdf
import java-util-Iterator- import java-util-NoSuchElementException- im.pdfStewart29UReesa
 
public class MyLinkedListltE extends ComparableltEgtg.pdf
public class MyLinkedListltE extends ComparableltEgtg.pdfpublic class MyLinkedListltE extends ComparableltEgtg.pdf
public class MyLinkedListltE extends ComparableltEgtg.pdfaccostinternational
 
Help please, I have attached LinkedList.cpp and LinkedList.hPlease.pdf
Help please, I have attached LinkedList.cpp and LinkedList.hPlease.pdfHelp please, I have attached LinkedList.cpp and LinkedList.hPlease.pdf
Help please, I have attached LinkedList.cpp and LinkedList.hPlease.pdfarorastores
 
Step 1 The Pair Class Many times in writing software we come across p.pdf
Step 1 The Pair Class Many times in writing software we come across p.pdfStep 1 The Pair Class Many times in writing software we come across p.pdf
Step 1 The Pair Class Many times in writing software we come across p.pdfformaxekochi
 
Given below is the completed implementation of MyLinkedList class. O.pdf
Given below is the completed implementation of MyLinkedList class. O.pdfGiven below is the completed implementation of MyLinkedList class. O.pdf
Given below is the completed implementation of MyLinkedList class. O.pdfinfo430661
 
I wrote the following change it to having a header, main and cpp fi.pdf
I wrote the following change it to having a header, main and cpp fi.pdfI wrote the following change it to having a header, main and cpp fi.pdf
I wrote the following change it to having a header, main and cpp fi.pdfrishteygallery
 
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdfLabprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdffreddysarabia1
 
I will provide my LinkedList from my last lab.LinkedList.cpp~~~~.pdf
I will provide my LinkedList from my last lab.LinkedList.cpp~~~~.pdfI will provide my LinkedList from my last lab.LinkedList.cpp~~~~.pdf
I will provide my LinkedList from my last lab.LinkedList.cpp~~~~.pdffunkybabyindia
 
package employeeType.employee;public abstract class Employee {  .pdf
package employeeType.employee;public abstract class Employee {  .pdfpackage employeeType.employee;public abstract class Employee {  .pdf
package employeeType.employee;public abstract class Employee {  .pdfnipuns1983
 
Please review my code (java)Someone helped me with it but i cannot.pdf
Please review my code (java)Someone helped me with it but i cannot.pdfPlease review my code (java)Someone helped me with it but i cannot.pdf
Please review my code (java)Someone helped me with it but i cannot.pdffathimafancyjeweller
 
Chap 2 Arrays and Structures.ppt
Chap 2  Arrays and Structures.pptChap 2  Arrays and Structures.ppt
Chap 2 Arrays and Structures.pptshashankbhadouria4
 
Chap 2 Arrays and Structures.pptx
Chap 2  Arrays and Structures.pptxChap 2  Arrays and Structures.pptx
Chap 2 Arrays and Structures.pptxshashankbhadouria4
 

Similar a Parsing Expression With Xtext (12)

import java-util-Iterator- import java-util-NoSuchElementException- im.pdf
import java-util-Iterator- import java-util-NoSuchElementException- im.pdfimport java-util-Iterator- import java-util-NoSuchElementException- im.pdf
import java-util-Iterator- import java-util-NoSuchElementException- im.pdf
 
public class MyLinkedListltE extends ComparableltEgtg.pdf
public class MyLinkedListltE extends ComparableltEgtg.pdfpublic class MyLinkedListltE extends ComparableltEgtg.pdf
public class MyLinkedListltE extends ComparableltEgtg.pdf
 
Help please, I have attached LinkedList.cpp and LinkedList.hPlease.pdf
Help please, I have attached LinkedList.cpp and LinkedList.hPlease.pdfHelp please, I have attached LinkedList.cpp and LinkedList.hPlease.pdf
Help please, I have attached LinkedList.cpp and LinkedList.hPlease.pdf
 
Step 1 The Pair Class Many times in writing software we come across p.pdf
Step 1 The Pair Class Many times in writing software we come across p.pdfStep 1 The Pair Class Many times in writing software we come across p.pdf
Step 1 The Pair Class Many times in writing software we come across p.pdf
 
Given below is the completed implementation of MyLinkedList class. O.pdf
Given below is the completed implementation of MyLinkedList class. O.pdfGiven below is the completed implementation of MyLinkedList class. O.pdf
Given below is the completed implementation of MyLinkedList class. O.pdf
 
I wrote the following change it to having a header, main and cpp fi.pdf
I wrote the following change it to having a header, main and cpp fi.pdfI wrote the following change it to having a header, main and cpp fi.pdf
I wrote the following change it to having a header, main and cpp fi.pdf
 
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdfLabprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
Labprogram.javaLinkedList.javaimport java.util.NoSuchElementEx.pdf
 
I will provide my LinkedList from my last lab.LinkedList.cpp~~~~.pdf
I will provide my LinkedList from my last lab.LinkedList.cpp~~~~.pdfI will provide my LinkedList from my last lab.LinkedList.cpp~~~~.pdf
I will provide my LinkedList from my last lab.LinkedList.cpp~~~~.pdf
 
package employeeType.employee;public abstract class Employee {  .pdf
package employeeType.employee;public abstract class Employee {  .pdfpackage employeeType.employee;public abstract class Employee {  .pdf
package employeeType.employee;public abstract class Employee {  .pdf
 
Please review my code (java)Someone helped me with it but i cannot.pdf
Please review my code (java)Someone helped me with it but i cannot.pdfPlease review my code (java)Someone helped me with it but i cannot.pdf
Please review my code (java)Someone helped me with it but i cannot.pdf
 
Chap 2 Arrays and Structures.ppt
Chap 2  Arrays and Structures.pptChap 2  Arrays and Structures.ppt
Chap 2 Arrays and Structures.ppt
 
Chap 2 Arrays and Structures.pptx
Chap 2  Arrays and Structures.pptxChap 2  Arrays and Structures.pptx
Chap 2 Arrays and Structures.pptx
 

Más de Sven Efftinge

Language Engineering With Xtext
Language Engineering With XtextLanguage Engineering With Xtext
Language Engineering With XtextSven Efftinge
 
Auto-GWT : Better GWT Programming with Xtend
Auto-GWT : Better GWT Programming with XtendAuto-GWT : Better GWT Programming with Xtend
Auto-GWT : Better GWT Programming with XtendSven Efftinge
 
Functional programming with Xtend
Functional programming with XtendFunctional programming with Xtend
Functional programming with XtendSven Efftinge
 
Codegeneration With Xtend
Codegeneration With XtendCodegeneration With Xtend
Codegeneration With XtendSven Efftinge
 
Domain Specific Languages (EclipseCon 2012)
Domain Specific Languages (EclipseCon 2012)Domain Specific Languages (EclipseCon 2012)
Domain Specific Languages (EclipseCon 2012)Sven Efftinge
 
Xtend @ EclipseCon 2012
Xtend @ EclipseCon 2012Xtend @ EclipseCon 2012
Xtend @ EclipseCon 2012Sven Efftinge
 
This Is Not Your Father's Java
This Is Not Your Father's JavaThis Is Not Your Father's Java
This Is Not Your Father's JavaSven Efftinge
 
Getting the most out of Java [Nordic Coding-2010]
Getting the most out of Java [Nordic Coding-2010]Getting the most out of Java [Nordic Coding-2010]
Getting the most out of Java [Nordic Coding-2010]Sven Efftinge
 
Xtext at MDD Day 2010
Xtext at MDD Day 2010Xtext at MDD Day 2010
Xtext at MDD Day 2010Sven Efftinge
 
Dependency Injection for Eclipse developers
Dependency Injection for Eclipse developersDependency Injection for Eclipse developers
Dependency Injection for Eclipse developersSven Efftinge
 
Challenges In Dsl Design
Challenges In Dsl DesignChallenges In Dsl Design
Challenges In Dsl DesignSven Efftinge
 
Code Generation in Agile Projects
Code Generation in Agile ProjectsCode Generation in Agile Projects
Code Generation in Agile ProjectsSven Efftinge
 
Bessere Softwareentwicklung (Itemis Wintercon)
Bessere Softwareentwicklung (Itemis Wintercon)Bessere Softwareentwicklung (Itemis Wintercon)
Bessere Softwareentwicklung (Itemis Wintercon)Sven Efftinge
 

Más de Sven Efftinge (20)

Language Engineering With Xtext
Language Engineering With XtextLanguage Engineering With Xtext
Language Engineering With Xtext
 
Future of Xtext
Future of XtextFuture of Xtext
Future of Xtext
 
Auto-GWT : Better GWT Programming with Xtend
Auto-GWT : Better GWT Programming with XtendAuto-GWT : Better GWT Programming with Xtend
Auto-GWT : Better GWT Programming with Xtend
 
Functional programming with Xtend
Functional programming with XtendFunctional programming with Xtend
Functional programming with Xtend
 
Codegeneration With Xtend
Codegeneration With XtendCodegeneration With Xtend
Codegeneration With Xtend
 
Gwt and Xtend
Gwt and XtendGwt and Xtend
Gwt and Xtend
 
Domain Specific Languages (EclipseCon 2012)
Domain Specific Languages (EclipseCon 2012)Domain Specific Languages (EclipseCon 2012)
Domain Specific Languages (EclipseCon 2012)
 
Xtend @ EclipseCon 2012
Xtend @ EclipseCon 2012Xtend @ EclipseCon 2012
Xtend @ EclipseCon 2012
 
Eclipse Xtend
Eclipse XtendEclipse Xtend
Eclipse Xtend
 
This Is Not Your Father's Java
This Is Not Your Father's JavaThis Is Not Your Father's Java
This Is Not Your Father's Java
 
Getting the most out of Java [Nordic Coding-2010]
Getting the most out of Java [Nordic Coding-2010]Getting the most out of Java [Nordic Coding-2010]
Getting the most out of Java [Nordic Coding-2010]
 
Xtext at MDD Day 2010
Xtext at MDD Day 2010Xtext at MDD Day 2010
Xtext at MDD Day 2010
 
Dependency Injection for Eclipse developers
Dependency Injection for Eclipse developersDependency Injection for Eclipse developers
Dependency Injection for Eclipse developers
 
Xtext Webinar
Xtext WebinarXtext Webinar
Xtext Webinar
 
Challenges In Dsl Design
Challenges In Dsl DesignChallenges In Dsl Design
Challenges In Dsl Design
 
Code Generation in Agile Projects
Code Generation in Agile ProjectsCode Generation in Agile Projects
Code Generation in Agile Projects
 
Xtext Eclipse Con
Xtext Eclipse ConXtext Eclipse Con
Xtext Eclipse Con
 
Generic Editor
Generic EditorGeneric Editor
Generic Editor
 
Eclipse Banking Day
Eclipse Banking DayEclipse Banking Day
Eclipse Banking Day
 
Bessere Softwareentwicklung (Itemis Wintercon)
Bessere Softwareentwicklung (Itemis Wintercon)Bessere Softwareentwicklung (Itemis Wintercon)
Bessere Softwareentwicklung (Itemis Wintercon)
 

Último

tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 

Último (20)

tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Parsing Expression With Xtext

  • 1. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition StackAST Grammar Text
  • 2. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication StackAST Grammar Text
  • 3. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression StackAST Grammar Text
  • 4. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression StackAST Grammar Text
  • 5. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression StackAST Grammar Text
  • 6. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition StackAST Grammar Text
  • 7. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition 5.Multiplication StackAST Grammar Text
  • 8. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition 5.Multiplication 6.PrimaryExpression StackAST Grammar Text
  • 9. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition 5.Multiplication 6.PrimaryExpression StackAST Grammar Text
  • 10. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition 5.Multiplication 6.PrimaryExpression StackAST Grammar Text 1
  • 11. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition 5.Multiplication 6.PrimaryExpression StackAST Grammar Text 1
  • 12. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition 5.Multiplication StackAST Grammar Text 1 Reduce!
  • 13. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition StackAST Grammar Text 1 Reduce!
  • 14. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition StackAST Grammar Text 1
  • 15. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition StackAST Grammar Text 1 +
  • 16. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition StackAST Grammar Text 1 + current = ruleMultiplication(); // {AdditionalExpression.left=current} AdditionalExpression temp = new AdditionalExpression(); temp.setLeft(current); current = temp:
  • 17. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition StackAST Grammar Text 1 +
  • 18. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition StackAST Grammar Text 1 +
  • 19. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition StackAST Grammar Text 1 +
  • 20. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition 5.Multiplication StackAST Grammar Text 1 +
  • 21. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition 5.Multiplication 6.PrimaryExpression StackAST Grammar Text 1 +
  • 22. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression 4.Addition StackAST Grammar Text 1 + 20 Reduce!
  • 23. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression StackAST Grammar Text 1 + 20 Reduce!
  • 24. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression StackAST Grammar Text 1 + 20
  • 25. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression StackAST Grammar Text 1 + 20
  • 26. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication StackAST Grammar Text 1 + 20 Reduce!
  • 27. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication StackAST Grammar Text 1 + 20 *
  • 28. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication StackAST Grammar Text 1 + 20 *
  • 29. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication StackAST Grammar Text 1 + 20 *
  • 30. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication StackAST Grammar Text 1 + 20 *
  • 31. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression StackAST Grammar Text 1 + 20 * 2
  • 32. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication 3.PrimaryExpression StackAST Grammar Text 1 + 20 * EOF 2
  • 33. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication StackAST Grammar Text 1 + 20 * EOF Reduce! 2
  • 34. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition 2.Multiplication StackAST Grammar Text 1 + 20 * EOF 2
  • 35. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 1.Addition StackAST Grammar Text 1 + 20 * EOF 2 Reduce!
  • 36. Addition returns Expression: Multiplication ({AdditionalExpression.left=current} '+' right=Multiplication)*; Multiplication returns Expression: PrimaryExpression ({MultiplyExpression.left=current} '*' right=PrimaryExpression)*; PrimaryExpression returns Expression: {NumberLiteral} value=INT | '(' Addition ')'; ( 1 + 20 ) * 2 StackAST Grammar Text 1 + 20 * EOF 2 Finished!