Clite(抽象語法)市公開課特等獎市賽課微課一等獎?wù)n件_第1頁
Clite(抽象語法)市公開課特等獎市賽課微課一等獎?wù)n件_第2頁
Clite(抽象語法)市公開課特等獎市賽課微課一等獎?wù)n件_第3頁
Clite(抽象語法)市公開課特等獎市賽課微課一等獎?wù)n件_第4頁
Clite(抽象語法)市公開課特等獎市賽課微課一等獎?wù)n件_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

clite語法類型非概要信息和意義

(025704-116)Program:Declarations和一個Compound;Declaration:個體Declaration序列;Declaration:個體變量,其類型和大?。籘ype:{int,bool,float,char}集合部分;Statement:子類Compound,Skip,Assignment,Conditional和Loop;Compound:個體Statement序列,以他們出現(xiàn)次序執(zhí)行。每一個出現(xiàn)在抽象語法樹相同層次。Skip:跳轉(zhuǎn)語句Assignment:將表示式賦給變量語句第1頁conditional:一個表示式(test)和兩個語句(thenbranch和elsebranch),其中一個被執(zhí)行則另一個則跳過。在if-then語句,elsebranch作為一個Skip語句實(shí)例。Lood:一個表示式(test)和一個只要測試結(jié)果是ture就不停重復(fù)語句(循環(huán)體)。Expression:子類Variable,Value,Binary,和Unary;Binary:一個Operater和兩個Expression;Unary:一個Operator和兩個Expression;Operator:&&,||,|,<,<=,==,!=,>,>=,+,-,~,和/,表現(xiàn):boolean運(yùn)算符:and,or,not;關(guān)系運(yùn)算符:lessthan ,lessorequal,equal,notequal,greaterthan,greater,orequal;數(shù)學(xué)運(yùn)算符:plus,minus,times,divide第2頁Value:有子類IntValue,FloatValue,BoolValue和CharValueintValue:整數(shù)值FloatValue:浮點(diǎn)數(shù)值,描述從計(jì)算機(jī)近似值到一非整數(shù)值。BoolValue:Boolean值,也就是說不是ture就是false;CharValue:單個字符值;第3頁Clite程序抽象語法樹:Program=Declarationsdecpart;Statementsbody;Declaration=Declaration*Declaration=VarableDecl|ArrayDeclVariableDecl=Variablev;TypetArrayDecl=Variablev;Typtt;IntegersizeType=int|bool|float|charStatements=Statemment*statement=Skip|Block|Assignment|Conditional|LoopSkip=Block=StatementsConditionnal=Expressiontest;Statementthenbranch,elsebranchLoop=Expressiontest;StatementbodyAssignment=VariableReftarget;ExpressionsourceExpression=VariableRef|Value|Binary|Unary第4頁VariableRef=Variable|ArrayRefBinary=Operatorop;Expressionterm1,term2Unary=UnaryOpop;ExpressiontermOperator=BooleanOp|RelationnalOp|ArithmeticOpBooleanlOp=&&|||RelationalOp==|!=|<|<=|>|>=ArithmeticOp=+|-|*|/Unary=!|-Variable=StringidArrayRef=Stringid;ExpressionindexValue=IntValue|BoolValue|FloatValue|CharValueIniValue=IntegerintValueFloatValue=FloatfloatvalueBoolValue=BooleanboolvalueCharValue=Charactercharvalue/*仔細(xì)看一下其實(shí)也不難-取決你態(tài)度*/第5頁A.1Clite詞匯和詳細(xì)句法/*全部引用變量必須申明*/

Program-->intmain(){DeclarationsStatements}Declarations-->{Declaration}Declaration-->TypeIdentifier[[integer]]{.Identifier[[integer]]};Type-->int|bool|float|charStatements--->{Statement}Statement-->:|Block|Assignment|IfStatement|WhileStatementBlock--->{Statement}Assignment--->Identifier[[Expression]]=Expression;IfStatement-->if(Expression)Statement[elseStatement]WhileStatement-->while(Expression)StatementExpression-->Conjunction{||Conjunction}Conjunction-->Equality{&&Equality}Equality-->Relation[EquOpRelation]第6頁EquOp--->==|!=Relation-->Addition[RelOpAddition]RelOp--><|<=|>|>=Addition-->Term{AddOpTerm}AddOp-->+|-Term-->Factor{MulOpFactor}MuiOp-->*|/|%Factor-->[UnaryOp]PrimaryUnaryOp-->-|!Primary-->Identifier[[Expression]]|Literal|(Expression)|Type(Expression)Identifier-->Letter{Letter|Digit}Boolean--->true|falseFloat-->Integer.IntegerChar-->'ASCIIChar'第7頁A.2Clite抽象句法/*全部申明變量必須唯一*/

Program=Declarationsdecpart;Statementsbody;Declaration=Declaration*Declarations=VariableDecl|ArrayDeclVariableDecl=VariableV;TypetArrayDecl=Variablev;Typet;IntegersizeType=int|bool|float|charStatements=Statement*Statement=Skip|Block|Assignment|Conditional|LoopSkip=Block=StatementsConditional=Experssiontest;Statementthenbranch,elsebranchLoop=Expressiontest;StatementbodyAssignment=VariableReftarget;ExpressionsourceExpression=VariableRef|Value|Binary|UnaryVariableRef=Variable|ArrayRef第8頁Binary=BinaryOpop;Expressionterm1,term2Unary=UnaryOpop;Expressionterm1,term2Operator=BooleanOp|RelationalOp|ArithmeticOp|UnaryOpBooleanlOp=&&|||RelationalOp==|!=|<|<=|>|>=ArithmeticOp=+|-|*|/Unary=!|-Variable=StringidArrayRef=Stringid;Expr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論