加勒比久久综合,国产精品伦一区二区,66精品视频在线观看,一区二区电影

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

COMP4233代做、代寫Python/Java程序
COMP4233代做、代寫Python/Java程序

時間:2025-06-04  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯



COMP4233 25S
Programming Assignment
Introduction
In Lecture 11, we implement an integer calculator, which consists of 
- int : the only data type for integers
- + : binary operator for integer addition
- * : binary operator for integer multiplication
- ( ) : parentheses for force parsing
- parser and evaluator of the expressions in this language.
In Lab 11, we extend the language by let expression, identifiers and its evaluator in the 
substitution model. This upgrade implements a naming system for the language.
Syntax
In this programming assignment, you need to further extend the language with following 
features.
1. if … then … else … : the “if” expression, which can branch computations under 
some conditions.
2. fun … -> … : function definitions, which can also be with let to name them.
To make if statement work properly, we also need 
3. a new data type bool, the guard in if;
4. constants in bool are either true or false;
5. Boolean binary operator ^, boolean conjunction;
6. bool can be constructed from the relational operator <=, integer “less or equal to”.
We want to add a little bit more complex structure into our language, which are
7. a new data type list with only one constant list [] – the empty list; and
8. lists can be constructed by binary operator ::, which is right associative.
Combining everything above, the entire grammar is
<prog> -> <expr> EOF
<expr> -> int
 | <expr> + <expr>
 | <expr> * <expr>
 | ( <expr> )
 | id
 | let id = <expr> in <expr>
 | fun id -> <expr>
 | <expr> <expr>
 | if <expr> then <expr> else <expr>
 | bool
 | <expr> <= <expr>
 | <expr> ^ <expr>
 | []
 | <expr> :: <expr>
Note that <expr> -> <expr> <expr> is the syntax for function application.
For the precedence of operators, we only specify + is lower than *. Others will be guaranteed 
by parentheses. For example, ambiguous expressions like fun a -> a 1 will be excluded 
from testcases. This expression has to be either fun a -> (a 1) or (fun a -> a) 1.
Typing
To make your life easy, type system is excluded from this project. Thus, expressions with 
type errors, like 1 + true are excluded from testcases.
Evaluation
The evaluation for operators simply follows their behaviors in mathematics. Students should 
understand them easily. But if a student insists true ^ true --> false, marks will be 
remove. Goliath does not want to argue.
The evaluation for let expression is implemented by substitution model and already given in 
Lab 11.
let <x> = v in <expr> --> <e>{v / <x>}
(let <x> = v in <expr>){v / <y>} -->
if <x> = <y> then (let <x> = <expr>)
else (let <x> = <expr>{v / <y>}
Students should figure out the substitutions for functions, function applications, and lists by 
themselves, which is interesting and not difficult. Furthermore, we also guarantee that 
function arguments are of distinct names. Expressions like let x = z in (fun z -> x)
are excluded from testcases. The following substitution is naïve and not correct.
let x = z in (fun z -> x)
 --> (fun z -> x) {z / x}
 --> fun z -> x {z / x}
 --> fun z -> z
 -/->
Output
To printout an AST, two functions string_of_val and string_of_bop are defined in 
main.ml. You can also apply these functions to see if your implementation works normally.
Example
Here is one example, 
let x=(fun a -> (if (a <= 1) then true else false)) in ((x 1) :: [])
is parsed into 
and evaluated as
let x=(fun a -> (if (a <= 1) then true else false)) in ((x 1) :: [])
--> ((x 1) :: []){fun a -> .. /x}
--> ((x 1){fun a -> .. /x} :: []{fun a -> .. /x}
--> ((x{fun a -> .. /x} 1{fun a -> .. /x}) :: []{fun a -> .. /x})
--> (((fun a -> ..) 1{fun a -> .. /x}) :: []{fun a -> .. /x})
--> (((fun a -> ..) 1) :: []{fun a -> .. /x})
--> (((fun a ->(if (a<=1) then true else false) 1) :: [])
--> ((if (a <= 1) then true else false){1/a} :: [])
--> ((if (a <= 1){1/a} then true{1/a} else false{1/a}) :: [])
--> ((if (a{1/a} <= 1{1/a}) then true{1/a} else false{1/a}) :: [])
--> ((if (1 <= 1{1/a}) then true{1/a} else false{1/a}) :: [])
--> ((if (1 <= 1) then true{1/a} else false{1/a}) :: [])
--> ((if true then true{1/a} else false{1/a}) :: [])
--> (true{1/a} :: [])
--> (true :: [])
-/-> 
Submission
ast.ml and lexer.mll are given in the package. You only need to implement 
parser.mly and main.ml. You don’t need to change anything else, including file names.
Grade distribution
- Submission 5%
- Compilation 5%
- parsing if statements 15%
- evaluating if statements 10%
- parsing functions and function applications 15%
- evaluating functions and function applications 10%
- parsing & evaluating relational operator <= 10%
- parsing & evaluating Boolean conjunction ^ 10%
- parsing lists 10%
- evaluating lists 10%
Select the features that you have implemented in check_list.md by [x].

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp

掃一掃在手機打開當(dāng)前頁
  • 上一篇:代做159.342 、代寫Operating Systems 編程設(shè)計
  • 下一篇:代寫MIT203、代做SQL編程設(shè)計
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務(wù)-企業(yè)/產(chǎn)品研發(fā)/客戶要求/設(shè)計優(yōu)化
    有限元分析 CAE仿真分析服務(wù)-企業(yè)/產(chǎn)品研發(fā)
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計優(yōu)化
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計優(yōu)化
    出評 開團工具
    出評 開團工具
    挖掘機濾芯提升發(fā)動機性能
    挖掘機濾芯提升發(fā)動機性能
    海信羅馬假日洗衣機亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
    海信羅馬假日洗衣機亮相AWE 復(fù)古美學(xué)與現(xiàn)代
    合肥機場巴士4號線
    合肥機場巴士4號線
    合肥機場巴士3號線
    合肥機場巴士3號線
  • 短信驗證碼 目錄網(wǎng) 排行網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    91精品啪在线观看国产手机| 久热精品视频| 一区二区三区在线| 91亚洲国产高清| 99久久99久久精品国产片桃花| 欧美亚洲一区| 视频在线不卡免费观看| 99久久精品网站| 国产真实有声精品录音| 人人鲁人人莫人人爱精品| 欧美大人香蕉在线| 日韩欧美久久| 亚洲老司机网| 国产成人精品一区二区三区在线 | 精品免费视频| 国产一区毛片| 在线精品在线| 色天使综合视频| 日本久久综合| 9色国产精品| 国产伊人精品| 成人在线免费观看网站| 国产欧美日韩免费观看 | 亚洲一区二区三区四区五区午夜 | 国产精品国产三级国产在线观看| 亚洲小说欧美另类社区| 91亚洲精品视频在线观看| 国模大尺度视频一区二区| 一区二区精品| 日韩中文在线电影| 免费观看成人av| 亚洲一区二区动漫| 亚洲女同中文字幕| 牛牛精品成人免费视频| www.成人网| 亚洲成av人片在线观看www| 国精一区二区| 国产一区二区三区四区大秀| 在线看片日韩| 麻豆成人久久精品二区三区红| 国产日本久久| 国产黄色一区| 日韩三区四区| 国产精品天堂蜜av在线播放 | 国产在线看片免费视频在线观看| 国产一区二区你懂的| 最新精品国产| 亚洲深夜av| 妖精视频成人观看www| 日韩网站在线| 香蕉精品999视频一区二区| 亚洲一区二区伦理| 狂野欧美一区| 国产高潮在线| yellow在线观看网址| 高清毛片在线观看| 日韩免费福利视频| 日本在线视频一区二区| 国产成人精品一区二区三区免费| 精品视频一区二区三区四区五区| 天天免费亚洲黑人免费| 亚洲性色av| 91综合国产| 精品国产黄a∨片高清在线| 久热成人在线视频| 亚洲毛片视频| 亚洲人成网亚洲欧洲无码| 视频一区视频二区欧美| 欧美日韩网站| 激情久久久久久久| 国产精品三上| 色在线免费观看| 羞羞视频在线观看一区二区| 青青草97国产精品免费观看| 日本不卡视频在线观看| 国产精品1区在线| 日韩三级精品| 99国产精品免费视频观看| 午夜精品影院| 国产免费拔擦拔擦8x高清在线人| 午夜精品成人av| 日日夜夜精品视频免费| 国产一区二区三区视频在线| 视频一区日韩精品| 亚洲大片在线| 美国欧美日韩国产在线播放| 手机看片久久| 亚洲精品一区二区在线播放∴| 亚洲警察之高压线| 精品99在线| 日韩午夜在线| 免费污视频在线一区| 欧美精品99| 国内毛片久久| 六月婷婷一区| 国产精品美女午夜爽爽| 精品一区二区三区免费看| 高清欧美性猛交xxxx黑人猛| 欧美日韩精品| 桃色一区二区| 国产亚洲一区二区三区不卡| 青青一区二区三区| 久久午夜影视| 国产欧美亚洲一区| 国产日本亚洲| 在线综合欧美| 久久精品999| 18国产精品| 国产午夜久久| 国产精品久久久久久久久久妞妞| 亚洲理论电影| 欧美日韩四区| 国产精品伦一区二区| 亚洲最大在线| 黄色亚洲免费| 99精品国产在热久久| 日韩精品一区二区三区中文| 日韩午夜av| 麻豆精品视频在线观看免费 | 第四色在线一区二区| 免费欧美在线| 亚洲国产午夜| 欧美18免费视频| 日韩免费视频| 婷婷精品在线| 免费视频久久| 国产精品久久久久久久久久久久久久久| 国产成人在线中文字幕| 欧美gayvideo| 国内精品久久久久久久影视简单 | 国产日韩欧美中文在线| 噜噜噜在线观看免费视频日韩| 麻豆精品一区二区综合av| 久久久国产精品一区二区中文| 亚洲黄色免费av| 日韩—二三区免费观看av| 亚洲激情成人| 国产精品mm| 日韩视频一区| 亚洲最新色图| 午夜亚洲一区| 国产欧美91| 免费在线观看一区二区三区| 国产精品三级| 蜜臀av一区二区在线免费观看| 国产一区一区| 日韩中文字幕一区二区三区| 国产精品一区二区美女视频免费看 | 成人精品在线| 亚洲视频播放| 国产探花一区| 蜜臀va亚洲va欧美va天堂| 亚洲成a人片77777在线播放| 免费成人小视频| 日韩精品1区2区3区| 日韩av自拍| 日韩在线观看一区二区三区| 国产中文在线播放| 久久久久久久久成人| 亚洲黄色网址| 久久久久久美女精品| 国产精品久久久久9999高清| 九一成人免费视频| 亚洲精品专区| 99国产精品视频免费观看一公开| 97色婷婷成人综合在线观看| 免费成人美女在线观看| 亚洲综合小说图片| 日韩一区电影| 999久久久精品国产| 欧美日本中文| 国产精品毛片久久| 欧美高清视频看片在线观看| 美女爽到高潮91| 亚洲资源av| 在线播放一区二区精品视频| 99久久精品一区二区成人| 亚洲国内精品| 久久av免费| av在线播放一区| 妖精视频成人观看www| 日韩欧美中文字幕一区二区三区 | 你懂的成人av| 成人美女视频| 国产在线欧美| 精品视频一区二区三区在线观看| 成人亚洲视频| 午夜在线精品| 欧美一级全黄| 亚洲日本免费电影| 亚洲小少妇裸体bbw| 天天色综合色| 99精品中文字幕在线不卡 | 日本不卡在线视频| 欧美激情偷拍自拍| 久久国产日本精品| 亚洲宅男网av| 久久只有精品| 校园春色亚洲| 国产亚洲一区在线|