国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

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

代寫CMSC 323、代做Java/Python編程

時間:2024-03-07  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯



CMSC **3: Design and Implementation of Programming Languages
HW 3: Functions that accept multiple arguments.
Due Date: 03-07-24
Total Points: 100
1. Functions that Accept Multiple Arguments
Start with the F1WAE interpreter (the version that uses subst. See starter code.), and extend
the implementation to support any number of parameters to a function (including zero), and any
number of arguments (including zero) in a function application:
 <FunDef> = {deffun {<id> <id>*} <FnWAE>}
 <FnWAE> = <num>
 | {+ <FnWAE> <FnWAE>}
 | {- <FnWAE> <FnWAE>}
 | {with {<id> <FnWAE>} <FnWAE>}
 | <id>
 | {<id> <FnWAE>*}
Since you must change the F1WAE datatype, and since different people may change it in
different ways, you must provide a parse function this time, which accepts a quoted expression
and produces an FnWAE value. For parsing, assume that any symbol other than '+, '-, or 'with can
be a function name for a function call. Also, you must provide a parse-defn function that takes one
(quoted) deffun and produces a FunDef value.
Some examples:
(test (interp (parse `{f 1 2})
 (list (parse-defn `{deffun {f x y} {+ x y}})))
 3)
(test (interp (parse `{+ {f} {f}})
 (list (parse-defn `{deffun {f} 5})))
 10)
Hint: remember that the PLAIT language provides the following useful functions:
map: takes a function and a list and applies the function to each element in the list, returning a list
of results. For example, if sexps is a list of S-expressions to parse, (map parse sexps) produces a
list of fnWAEs by parsing each S-expression.
foldl: applies a function to an initial accumulated value and elements in a list, each time
obtaining a new accumulated value.
2
pair: creates a tuple. Use fst and snd to access items in the pair.
map2: applies a function, in order, to each pair of elements from two lists in “parallel,” forming a
new list with the results.
2. Errors
At run-time, a new error is now possible: a function application with the wrong number of
arguments. Your interp function should detect this mismatch and report an error that includes the
words “wrong arity”.
As with the interpreter from class, the free variable error is still also possible and must be
detected. Your interp function should detect free variables and report an error that includes the
words “free identifier”.
A function will be ill-defined if two of its arguments <id>s were the same. To prevent this
problem, your parse-defn function should detect this problem and report a “bad syntax” error. For
example, (parse-defn `{deffun {f x x } x}) should report a “bad syntax” error, while (parse-defn
`{deffun {f x y} x}) should produce a FunDef value.
Similarly, your interpreter must check to see if the function in an application is defined before
evaluating the arguments. If not, an “undefined function” error should be raised.
Some examples:
(test/exn (interp (parse `{with {x y} 1}) '()) "free identifier")
(test/exn (interp (parse `{f 1 2}) (list (parse-defn `{deffun {f x x} {+ x x}}))) "bad syntax")
(test/exn (interp (parse `{f x}) (list (parse-defn `{deffun {g a b c} c}))) "undefined function")
(test/exn (interp (parse `{f 1}) (list (parse-defn `{deffun {f x y} {+ x y}}))) "wrong arity")
Your interpreter must evaluate all the argument expressions in an application expression before
signaling any arity errors. For example:
(test/exn (interp (parse `{f x}) (list (parse-defn `{deffun {f a b c} c})))"free identifier")
So overall, the order in which errors should be raised for a given function call is:
• First, “bad syntax”
• Second, “undefined function”
• Third, any errors that are raised while evaluating arguments.
• Fourth, “wrong arity”
• Last, any errors that are raised while evaluating the function body.
3
If the list of definitions contains multiple definitions with the same name, use just the first one
(ignoring the others). In particular, there is no overload in this language: if there are two
definitions with the same name and different arities, the first definition is always used regardless.
For example, if you have the following definitions and program:
(test/exn (interp (parse `{f 3 4})
 (list (parse-defn `{deffun {f a} 5})
 (parse-defn `{deffun {f a b} {+ a b}})))
 "wrong arity")
Since the first definition of f takes a single argument, this program should raise a “wrong arity”
error. The fact that another definition for f that takes two argument exists doesn’t matter.
Your interpreter and parser will not be given any other kinds of erroneous programs besides the
ones described in this section.
3. Handin Instructions
• Provide definitions for parse, parse-defn, and interp, as above.
• Include a contract and comments before each function.
• Your submission must include your test cases. They should not be commented out.
• Include your name as a comment in your submission file.
• Save your homework file in the following format hw3<first_name><last_name>.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:AERO20542代做、代寫Python/Java編程
  • 下一篇:莆田鞋購買渠道(盤點10個莆田鞋微商前十名)
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲勞振動
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)40個行業(yè)
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)4
    超全面的拼多多電商運(yùn)營技巧,多多開團(tuán)助手,多多出評軟件徽y1698861
    超全面的拼多多電商運(yùn)營技巧,多多開團(tuán)助手
    CAE有限元仿真分析團(tuán)隊,2026仿真代做咨詢服務(wù)平臺
    CAE有限元仿真分析團(tuán)隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗證碼 寵物飼養(yǎng) 十大衛(wèi)浴品牌排行 suno 豆包網(wǎng)頁版入口 目錄網(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

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    久久久噜噜噜久久中文字免| 国产精品第二页| 欧美日韩精品免费看| 日韩精品大片| 欧美亚洲国产视频| 欧美精品一区二区三区久久 | 亚洲一区精彩视频| 国产精品久久久久久久7电影| 国产精品色视频| 免费91麻豆精品国产自产在线观看| 国产精品成人一区二区| 精品免费国产| 一区二区成人国产精品| 亚洲国产精品www| 日本精品久久久| 欧美精品一区免费| 国产亚洲欧美在线视频| 国产伦精品一区二区三区四区视频 | 狠狠色综合网站久久久久久久| 日韩国产欧美亚洲| 欧美日韩精品在线一区二区| 欧美成ee人免费视频| 国产日韩av在线播放| www.欧美黄色| 久久精品日产第一区二区三区精品版| 久久av综合网| 久久夜精品va视频免费观看| 伊甸园精品99久久久久久| 欧美一级视频在线观看| 女同一区二区| 97精品视频在线观看| 精品国内亚洲在观看18黄| 精品国产一区二区三区麻豆小说| 久久99亚洲精品| 亚洲天堂电影网| 米奇精品一区二区三区在线观看| 久久久久久国产精品一区| 久久久噜久噜久久综合| 久久天天躁狠狠躁夜夜躁 | 九九九九免费视频| 欧美成人精品一区二区三区| 午夜免费电影一区在线观看| 欧美一级二级三级| 99热成人精品热久久66| 久久久成人精品视频| 亚洲影影院av| 国产在线精品91| 成人免费在线一区二区三区| 日韩中文字幕亚洲| 亚洲午夜精品福利| 国语自产精品视频在线看一大j8| 91精品国产高清久久久久久| 国产精品无码专区在线观看| 亚洲精品久久区二区三区蜜桃臀 | 国产精品精品视频一区二区三区| 亚洲伊人成综合成人网| 欧美精品亚洲精品| 久久综合亚洲精品| 国产精品初高中精品久久| 欧美一区二区三区四区在线观看地址| 国产一区二区精品免费| 久久激情视频免费观看| 日韩av一区二区三区在线| 成人在线免费观看一区| 精品国产免费一区二区三区| 欧美综合在线播放| 久久露脸国产精品| 亚洲午夜精品一区二区| 国内精品久久久久久| 久久久久欧美| 欧美一区二区三区精品电影| 99一区二区三区| 欧美日韩第一视频| 欧美,日韩,国产在线| 77777亚洲午夜久久多人 | 亚洲自偷自拍熟女另类| 国产一区深夜福利| 国产精品成人播放| 欧美不卡三区| 国产精品日韩高清| 欧美一区二区在线视频观看| 久久久www免费人成黑人精品| 亚洲一区二区三区四区视频 | 91久久大香伊蕉在人线| 一区二区精品国产| 国产日韩亚洲欧美在线| 国产精品久久中文字幕| 欧美精品自拍视频| 久久99久久99精品蜜柚传媒| 日韩.欧美.亚洲| 国产mv免费观看入口亚洲| 色大师av一区二区三区| 久久网站免费视频| 日本一区视频在线| 久久久久久尹人网香蕉| 奇米影视首页 狠狠色丁香婷婷久久综合| 久久精品国产综合精品| 日韩经典在线视频| 日韩在线视频免费观看高清中文| 青青在线视频观看| 久久久久久久久中文字幕| 欧美伊久线香蕉线新在线| 俺去啦;欧美日韩| 欧美成ee人免费视频| 久久夜色精品国产亚洲aⅴ| 国产精品自拍首页| 午夜精品一区二区在线观看的| 久久偷窥视频| 欧美日韩大片一区二区三区| 国产精品国产对白熟妇| 国产精品永久在线| 日韩av黄色网址| 国产精品久久久久久久久久小说| 国产欧美久久一区二区| 午夜美女久久久久爽久久| 久久久亚洲福利精品午夜| 日韩欧美一区二区三区四区| 久久人人爽亚洲精品天堂| 国产日韩欧美中文| 少妇久久久久久被弄到高潮| 久久久久久久久久久久久久久久av| 精品91免费| 亚洲在线免费视频| www.日韩免费| av免费观看国产| 欧美日韩另类丝袜其他| 在线观看免费黄色片| 日韩在线免费观看视频| 国产日本欧美一区| 日本高清不卡在线| 国产精品国产三级国产专播精品人 | 秋霞毛片久久久久久久久| 国产精品高潮呻吟久久av黑人 | 婷婷久久青草热一区二区| 国产精品入口福利| 91麻豆蜜桃| 欧美亚洲一级片| 亚洲啪啪av| 国产精品久久久久av| 国产精品99导航| 国产一区二区丝袜| 日韩欧美视频免费在线观看| 一区二区三视频| 国产成人免费91av在线| 99亚洲国产精品| 国内精品一区二区三区| 日本精品福利视频| 中文一区一区三区免费| 国产精品爽爽爽爽爽爽在线观看 | 欧美一区二区三区成人久久片| 国产精品久久久久久久久久久久冷 | 亚洲乱码一区二区三区三上悠亚| 日韩中文字幕免费视频| 99久热re在线精品视频| 国模精品一区二区三区色天香| 日本伊人精品一区二区三区介绍| 美女精品久久久| 久久久999成人| 久久福利电影| 91国产美女在线观看| 国产一区二区三区高清| 日韩久久在线| 欧美一区二区大胆人体摄影专业网站| 九九九久久国产免费| 久久精品电影网站| 久久精品国产第一区二区三区最新章节| 成人精品网站在线观看| 男人天堂新网址| 日本一区免费| 午夜伦理精品一区| 亚洲色图自拍| 一本一道久久久a久久久精品91| 国产精品日本精品| 日韩在线观看免费高清| 久久精品xxx| 国产成人综合一区| 国产激情综合五月久久| 91国内在线视频| 91精品91久久久久久| 97色在线播放视频| 99精品国产高清在线观看| 国产伦精品一区二区三区视频孕妇| 欧美亚洲国产免费| 欧美亚洲国产成人精品| 青青草国产精品视频| 日韩欧美视频免费在线观看| 欧美一级片免费观看| 色综合久久av| 日韩精品一区二区三区丰满| 热草久综合在线| 欧美性受xxxx黑人猛交88| 欧美在线国产精品| 黄色影视在线观看| 国产在线视频2019最新视频| 精品视频一区二区| 国产乱码一区| 114国产精品久久免费观看| 91禁国产网站| 色偷偷888欧美精品久久久| 日韩最新免费不卡|