OnlineCComplier0810024104宋笑雪学校代码分类号学号密级10722公开作者姓名胡泽江指导教师学科门类工学提交论文日期专业名称软件工程成绩评定等级题目C语言在线编译器I摘要C语言在1970年由丹尼斯.里奇研制出来后发展至今,以它高效、灵活、功能丰富、表达力强和较高的移植性等特点,广泛用于系统与应用软件的开发,2012年反超Java重登宝座,在程序员中说起HelloWorld,可能就想起C语言了,同时在计算机二级考试中,也有C语言的科目,所以在学习C语言的人当中不仅仅是程序员,还有很大一部分是对计算机知识,特别是编程语言了解相对较少的学生和社会人群。因此,需要一个相对简易,易理解的C语言编译和学习环境提供给这种人群。本论文研究的是C语言在线编译器,包含了C语言的编译器,加入了C语言的学习资料,示例代码,供初学者使用。系统架构是基于B/S的系统,在前端使用了JS,JQUERY,AJAX,CSS,HTML作为布局和业务逻辑,由于C语言在线编译器的特殊性,前端技术也承担了一部分的C语言编译的技术,大量使用了正则表达式,来操作C语言代码字符。后台使用JAVA语言开发,使用LL1算法,词法分析来完成C语言的语法分析,应用struts机制和页面交互,后台主要用于代码编译、错误提示,前端主要用于代码执行。论文主要介绍了本课题的开发背景、所完成的功能和以及具体的开发过程。关键词:C语言;编译器;LL1算法;正则表达式IIAbstractClanguagedevelopedbyDennisRitchiein1970,developmenthastoexpressthecharacteristicsofstrongandhighportability,efficient,flexible,feature-rich,widelyusedforsystemandapplicationsoftwaredevelopment,2012overtakere-boardthethroneofJavaprogrammerstalkabouttheHelloWorldmaythinkoftheClanguage,whileinthecomputertwoexaminations,butalsothesubjectsoftheClanguage,notjustinlearningtheClanguageprogrammers.therearealargepartofcomputerknowledge,especiallyaprogramminglanguageisunderstoodthatarelativelysmallnumberofstudentsandsocialgroups.Therefore,weneedarelativelysimple,easytounderstandtheClanguagecompilerandlearningenvironmentavailabletothispopulation.ThisthesisisaCLanguageCompiler,containsaClanguagecompiler,addingaC-languagelearningmaterials,samplecode,forbeginnerstouse.ThesystemarchitectureisbasedonB/Ssystem,thefrontendoftheJS,JQUERY,AJAX,CSS,theHTMLlayoutandBusinesslogic,duetothespecialnatureoftheCLanguagecompilerfront-endtechnologyalsobearpartoftheClanguagecompilertechnologytoachieve,Theuseofregularexpression,operationoftheClanguagecodecharacters.BackgroundusingtheJAVAlanguagedevelopment,UseLL1algorithm,lexicalanalysistocompleteClanguagesyntaxanalysisapplicationstrutsmechanismsinteractandpagebackgroundismainlyusedforcodecompilationerror,thefront-endforcodeexecution.Thepaperintroducesthedevelopmentbackgroundofthesubject,thecompletefunctionandthespecificdevelopmentprocess.Keywords:CLanguage;complier;LL1Algorithm,RegularexpressionsIII目录摘要.................................................................................................................................................IAbstract.......................................................................................................................................II第一章概述.................................................................................................................................11.1C在线编译器的定义.......................................................................................................11.2web应用价值...................................................................................................................11.3C在线编译器意义...........................................................................................................11.4开发技术..........................................................................................................................1第二章需求分析...........................................................................................................................32.1可行性研究......................................................................................................................32.1.1技术可行性...........................................................................................................32.1.2经济可行性...........................................................................................................32.2系统的功能要求..............................................................................................................32.3系统的性能要求..............................................................................................................42.3.1可靠性要求............................................................................................................42.3.2时间要求................................................................................................................42.3.3并发处理能力要求................................................................................................4第三章关键技术...........................................................................................................................53.1Ajax概述.........................................................................................................................53.2Servlet概述...................................................................................................................53.3Jquery概述.....................................................................................................................53.4正则表达式......................................................................................................................63.5LL1算法...........................................................................................................................63.6编译器..............................................................................................................................6第四章概要设计....