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

        COMP3173代做、代寫C/C++程序設(shè)計

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


        COMP31**代做、代寫C/C++程序設(shè)計
        Project Implementation
        Phase 1 Lexical analysis
        In phase 1, you need to implement a lexer for the language described in “COMP31** 23F Project Description.docx”. Your lexer consists of five source files: “func.c”, “lexer.h”, “lexer.c”,  “symbol_table.h”, and “symbol_table.c”. Detailed requirements are listed below.
        “func.c” 
        -It is the main entry of the entire project (all phases). 
        -It opens the source program.
        -The source program is passed to the main function as an argument.
        -It makes calls to the function “next_token” defined in “lexer.h” and “lexer.c”.
        -It maintains a symbol table defined in “symbol_table.h” and “symbol_table.c” to store all the identifiers.
        -If the function “next_token” returns a token, print the token and its attribute(s) on the screen for verification purpose.
        -If “next_token” returns an error flag, report the error and its location.
        -After the entire process is finished, print out the symbol table.
        “lexer.h” and “lexer.c” 
        -You need to design and implement a DFA to complete this task.
        -To implement the DFA, you must use a transition table.
        -You must define the transition table in “lexer.h” in a proper way (for example, as a 2-dimensional constant array).
        -It reads and cuts the source program into lexemes.
        -It returns the first token which is found every time when “next_token” is called.
        -It ignores spaces, indentations, line breaks, and comments.
        -If the token is an identifier, insert the token into the symbol table. Each token has an attribute to record its memory location in the symbol table.
        -If the token is an integer literal, the token has two attributes: type, for its data type; and value, for its value.
        -If the token is none of the above, it does not have an attribute.
        -If there is any lexical error, returns an error flag to the main function.
        “symbol_table.h” and “symbol_table.c”
        -It should be implemented as a data structure (AVL tree is recommended to search and insert symbols efficiently or you can use any data structure you want. Efficiency is not required here.);
        -Each identifier has its variable name and its type. (This language has two three types of identifiers, integers natural numbers, Boolean, and functions.)
        -Currently, the type of identifiers cannot be decided (it is done by semantic analysis). So, the corresponding type in the symbol table is just NULL.
        -The symbol table also needs a function to print out its content.

        The implementation must be done in standard C (not in Visual C). For those who do not have standard C installed on your local computer, you can try to install MinGW from https://www.mingw-w64.org/ or use online GDB at https://www.onlinegdb.com/ . TA will use make file to check your analyzer.

        Example: 
        In the package “Example.zip”, you will find all the source files described above. Currently, they are all empty. The main function simply prints the argument on the screen. The package also contains “make.bat”. You can open it by a txt reader. Then, you can see the compilation commands. 

        After executing “make.bat” (suppose you are using Windows and have GCC installed), you will have “func.exe”, which is the compiled analyzer.

        Suppose the source program that we want to analyze is “sample.txt”, we execute “func sample.txt”.

        Submission requirements
        Each team need to clearly indicate the contribution of each team member in a txt file. To submit your work, you need to pack all files (source code and contribution txt) in a package. Rename the package as COMP31**_23F_TeamXX, where XX is your team number. Only team leaders need to upload the package to iSpace.
        請加QQ:99515681 或郵箱:99515681@qq.com   WX:codehelp
         

        掃一掃在手機打開當(dāng)前頁
      1. 上一篇:代做COP5615、代寫Java,Python編程
      2. 下一篇:代做comp3511、代寫Python/Java編程
      3. 無相關(guān)信息
        合肥生活資訊

        合肥圖文信息
        出評 開團工具
        出評 開團工具
        挖掘機濾芯提升發(fā)動機性能
        挖掘機濾芯提升發(fā)動機性能
        戴納斯帝壁掛爐全國售后服務(wù)電話24小時官網(wǎng)400(全國服務(wù)熱線)
        戴納斯帝壁掛爐全國售后服務(wù)電話24小時官網(wǎng)
        菲斯曼壁掛爐全國統(tǒng)一400售后維修服務(wù)電話24小時服務(wù)熱線
        菲斯曼壁掛爐全國統(tǒng)一400售后維修服務(wù)電話2
        美的熱水器售后服務(wù)技術(shù)咨詢電話全國24小時客服熱線
        美的熱水器售后服務(wù)技術(shù)咨詢電話全國24小時
        海信羅馬假日洗衣機亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
        海信羅馬假日洗衣機亮相AWE 復(fù)古美學(xué)與現(xiàn)代
        合肥機場巴士4號線
        合肥機場巴士4號線
        合肥機場巴士3號線
        合肥機場巴士3號線
      4. 上海廠房出租 短信驗證碼 酒店vi設(shè)計

        主站蜘蛛池模板: 国产观看精品一区二区三区| 四虎精品亚洲一区二区三区 | 三上悠亚国产精品一区| 亚洲日韩精品无码一区二区三区| 精品一区二区三人妻视频| 日韩欧国产精品一区综合无码| 视频一区视频二区制服丝袜| 亚洲av无码片vr一区二区三区| 亚洲乱码日产一区三区 | 亚洲国产精品第一区二区| 日韩一区二区三区在线观看| 久热国产精品视频一区二区三区| 无码人妻少妇色欲AV一区二区| 国产精品无码不卡一区二区三区 | 精品无码人妻一区二区三区18| 亚洲国产成人一区二区精品区| 国产日韩精品一区二区三区在线| 国产伦精品一区二区| 在线一区二区观看| 精品国产一区二区三区www| 精品国产日韩亚洲一区在线| 亚洲av成人一区二区三区观看在线 | 国产成人精品视频一区二区不卡 | 精品一区二区三区视频在线观看 | 无码中文字幕一区二区三区| 韩国福利一区二区美女视频| 亚洲AV成人一区二区三区在线看 | 久久一区不卡中文字幕| 国产精品va无码一区二区| 国精品无码一区二区三区在线| 国99精品无码一区二区三区| 亚洲电影一区二区三区| 中文字幕日韩丝袜一区| 精品国产AV无码一区二区三区| 国产在线精品一区二区| 亚洲Aⅴ无码一区二区二三区软件| 亚洲av片一区二区三区| 国产高清不卡一区二区| 精品无码一区二区三区在线| 色窝窝免费一区二区三区| 日本一区二区三区在线观看视频|