-
Notifications
You must be signed in to change notification settings - Fork 0
/
albero_sintattico.xml
1 lines (1 loc) · 5.1 KB
/
albero_sintattico.xml
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><ProgramOp><VarDeclOpList><VarDeclOp><TypeOp>var</TypeOp><IdExprList><IdExpr><Id>c</Id><IntegerOp>1</IntegerOp></IdExpr></IdExprList></VarDeclOp></VarDeclOpList><FunDeclOpList><FunDeclOp><Main>false</Main><Id>sommac</Id><ParDeclOpList><ParDeclOp><Out>false</Out><TypeOp>integer</TypeOp><IdList><Id>a</Id><Id>d</Id></IdList></ParDeclOp><ParDeclOp><Out>false</Out><TypeOp>real</TypeOp><IdList><Id>b</Id></IdList></ParDeclOp><ParDeclOp><Out>true</Out><TypeOp>string</TypeOp><IdList><Id>size</Id></IdList></ParDeclOp></ParDeclOpList><TypeOp>real</TypeOp><BodyOp><VarDeclOpList><VarDeclOp><TypeOp>real</TypeOp><IdExprList><IdExpr><Id>result</Id><AddOp><AddOp><AddOp><Id>a</Id><Id>b</Id></AddOp><Id>c</Id></AddOp><Id>d</Id></AddOp></IdExpr></IdExprList></VarDeclOp></VarDeclOpList><StatementList><IfStatOp><AndOp><GTOp><Id>result</Id><IntegerOp>100</IntegerOp></GTOp><LEOp><Id>result</Id><IntegerOp>0</IntegerOp></LEOp></AndOp><BodyOp><VarDeclOpList><VarDeclOp><TypeOp>var</TypeOp><IdExprList><IdExpr><Id>valore</Id><StringOp>grande</StringOp></IdExpr></IdExprList></VarDeclOp></VarDeclOpList><StatementList><AssignStatOp><IdList><Id>size</Id></IdList><ExprList><Id>valore</Id></ExprList></AssignStatOp></StatementList></BodyOp><BodyOp><VarDeclOpList><VarDeclOp><TypeOp>var</TypeOp><IdExprList><IdExpr><Id>valore</Id><StringOp>piccola</StringOp></IdExpr></IdExprList></VarDeclOp></VarDeclOpList><StatementList><AssignStatOp><IdList><Id>size</Id></IdList><ExprList><Id>valore</Id></ExprList></AssignStatOp></StatementList></BodyOp></IfStatOp><ReturnStatOp><Id>result</Id></ReturnStatOp></StatementList></BodyOp></FunDeclOp><FunDeclOp><Main>true</Main><Id>esempio</Id><ParDeclOpList/><TypeOp>void</TypeOp><BodyOp><VarDeclOpList><VarDeclOp><TypeOp>var</TypeOp><IdExprList><IdExpr><Id>a</Id><IntegerOp>1</IntegerOp></IdExpr><IdExpr><Id>b</Id><RealOp>2.2</RealOp></IdExpr><IdExpr><Id>x</Id><IntegerOp>3</IntegerOp></IdExpr></IdExprList></VarDeclOp><VarDeclOp><TypeOp>string</TypeOp><IdExprList><IdExpr><Id>taglia</Id></IdExpr><IdExpr><Id>ans1</Id></IdExpr></IdExprList></VarDeclOp><VarDeclOp><TypeOp>var</TypeOp><IdExprList><IdExpr><Id>ans</Id><StringOp>no</StringOp></IdExpr></IdExprList></VarDeclOp><VarDeclOp><TypeOp>real</TypeOp><IdExprList><IdExpr><Id>risultato</Id><FunCallOpExpr><Id>sommac</Id><ExprList><Id>a</Id><Id>x</Id><Id>b</Id><Id>taglia</Id></ExprList></FunCallOpExpr></IdExpr></IdExprList></VarDeclOp></VarDeclOpList><StatementList><FunCallOpStat><Id>stampa</Id><ExprList><StrCatOp><StrCatOp><StrCatOp><StrCatOp><StrCatOp><StrCatOp><StrCatOp><StringOp>la somma di </StringOp><Id>a</Id></StrCatOp><StringOp> e </StringOp></StrCatOp><Id>b</Id></StrCatOp><StringOp> incrementata di </StringOp></StrCatOp><Id>c</Id></StrCatOp><StringOp> è </StringOp></StrCatOp><Id>taglia</Id></StrCatOp></ExprList></FunCallOpStat><FunCallOpStat><Id>stampa</Id><ExprList><StrCatOp><StringOp>ed è pari a </StringOp><Id>risultato</Id></StrCatOp></ExprList></FunCallOpStat><WriteStatOp><WriteFlag>true</WriteFlag><ExprList><StringOp>vuoi continuare? (si/no) - inserisci due volte la risposta</StringOp></ExprList></WriteStatOp><ReadStatOp><IdList><Id>ans</Id><Id>ans1</Id></IdList></ReadStatOp><WhileStatOp><EqOp><Id>ans</Id><StringOp>si</StringOp></EqOp><BodyOp><VarDeclOpList/><StatementList><ReadStatOp><IdList><Id>a</Id></IdList><StringOp>inserisci un intero:</StringOp></ReadStatOp><ReadStatOp><IdList><Id>b</Id></IdList><StringOp>inserisci un reale:</StringOp></ReadStatOp><AssignStatOp><IdList><Id>risultato</Id></IdList><ExprList><FunCallOpExpr><Id>sommac</Id><ExprList><Id>a</Id><Id>c</Id><Id>b</Id><Id>taglia</Id></ExprList></FunCallOpExpr></ExprList></AssignStatOp><FunCallOpStat><Id>stampa</Id><ExprList><StrCatOp><StrCatOp><StrCatOp><StrCatOp><StrCatOp><StrCatOp><StrCatOp><StringOp>la somma di </StringOp><Id>a</Id></StrCatOp><StringOp> e </StringOp></StrCatOp><Id>b</Id></StrCatOp><StringOp> incrementata di </StringOp></StrCatOp><Id>c</Id></StrCatOp><StringOp> è </StringOp></StrCatOp><Id>taglia</Id></StrCatOp></ExprList></FunCallOpStat><FunCallOpStat><Id>stampa</Id><ExprList><StrCatOp><StringOp> ed è pari a </StringOp><Id>risultato</Id></StrCatOp></ExprList></FunCallOpStat><ReadStatOp><IdList><Id>ans</Id></IdList><StringOp>vuoi continuare? (si/no): </StringOp></ReadStatOp></StatementList></BodyOp></WhileStatOp><WriteStatOp><WriteFlag>true</WriteFlag><ExprList><StringOp/></ExprList></WriteStatOp><WriteStatOp><WriteFlag>false</WriteFlag><ExprList><StringOp>ciao</StringOp></ExprList></WriteStatOp></StatementList></BodyOp></FunDeclOp><FunDeclOp><Main>false</Main><Id>stampa</Id><ParDeclOpList><ParDeclOp><Out>false</Out><TypeOp>string</TypeOp><IdList><Id>messaggio</Id></IdList></ParDeclOp></ParDeclOpList><TypeOp>void</TypeOp><BodyOp><VarDeclOpList/><StatementList><ForStatOp><Id>i</Id><IntegerOp>1</IntegerOp><IntegerOp>4</IntegerOp><BodyOp><VarDeclOpList/><StatementList><WriteStatOp><WriteFlag>true</WriteFlag><ExprList><StringOp/></ExprList></WriteStatOp></StatementList></BodyOp></ForStatOp><WriteStatOp><WriteFlag>false</WriteFlag><ExprList><Id>messaggio</Id></ExprList></WriteStatOp></StatementList></BodyOp></FunDeclOp></FunDeclOpList></ProgramOp>