首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

自制计算器——《自制编程语言》二

自制计算器——《自制编程语言》二 ? CharlieWang发布于 4 月 7 日 前面介绍了借助yacc和lex自制计算器。...《自制计算器(借助yacc和lex)—《自制编程语言》一》 本文介绍下不用yacc和lex的实现过程,其实就是自己编写词法解析器和词法分析器来代替yacc和lex。...基于C语言实现 文中代码为了说明大多是截图,可以对照行号介绍,不过不用担心,源代码我都传到这里了 1.自制词法分析器 说明:本计算器会将换行作为分隔符,把输入分割成一个个算式。...2.本次的计算器是以行尾单位的,st_line会保存一行中的所有信息,但在当下的编程语言中,换行一般和空白字符是等效的,因此不应该以行尾单位处理,而是从文件中逐字符(getc()等函数)读入解析会更好。...2.自制语法分析器 大多程序员即使没自制编程语言的背景,也能猜到词法分析器的运行机制,换成语法分析器就有点毫无头绪了。

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    借助yacc和lex自制计算器——《自制编程语言》一

    自制编程语言》学习记录,内容基本是摘抄原书其实原书并不是从头讲怎么写一个计算器的,而是上来就给了代码,对着代码讲解。计算器代码的名字为mycalc,内部完全使用double进行运算。...1.基础概念介绍 1.1 编程语言的语法处理一般有以下的过程: 1.1.1 词法分析     将源代码分割成若干个记号(token)的处理。...1.2 lex:     lex 是自动生成词法分析器的工具,通过输入扩展名为.l的文件,输出词法分析器的C语言代码。    ...1.3 yacc:     yacc是自动生成语法分析器的工具,输入扩展名为.y的文件,就会输出语法分析器的C语言代码。...还是没能了解太对自制编程语言知识,算是对词法分析等基础概念有点了解。后续会不借助jacc和lex重新制作一个计算器。本文结束。

    4.6K10

    英语 vs 编程

    这个问题要分情况的,并不是说不会英语就不能编程。如果你只是想学习下编程,只要一点很基础的英语能力,知道if/while/class这些关键字的意思,就可以开始写代码了。实在不行就死记硬背编程语法呗。...另外,现在有使用汉语的编程语言--易语言,还有基于python的中蟒,都可以让你用中文来编程。 即使你以编程为职业,一样也可以在英语不好的前提下安稳地工作下去。...每种语言都是数不清的中文书籍,中文博客和中文编程社区也不算少,还有人在不断翻译英文的资料。靠着这些,差不多也够用了。...编程语言是世界通用的,所以对于编程的交流也只能使用世界广泛接受的自然语言。最最活跃的编程社区,比如stackoverflow、github,全世界的程序员都在上面用英语讨论。...不论是在同一家公司里,还是在远程协作的项目中,你能参与的可能性都会因为语言障碍大大降低。 所以,用一个例子来总结英语编程的关系就是:我体能差跑得很慢,能不能踢足球?

    1.4K100

    【译】下一个大型编程语言英语(自然语言

    这是一个让你可以从头到尾用纯英语编写代码而不离开浏览器的工具。...为了更加简单,它用普通英语进行了说明: 此外,你可以编辑这个过程的每一步,如果你愿意的话,用自然语言添加自己的想法。基本上,你可以给 CW 提供你自己的成功测试标准,以便它在编写代码时进行检查。...在这个阶段,CW 进入了代码库的细节,并写出了对每个文件所做的更改: 再次说明,所有这些都是在自然语言中发生的,如果你认为 CW 遗漏了某些内容,你可以编辑或添加任何内容到计划中。...而且,它确实在正确的文件中创建了正确的代码:它用新的换掉了旧的标志——不需要编程或复制粘贴。 问题是:这种编程代理体验与使用 ChatGPT 或 Claude 完成相同任务相比如何?...英语正在变成一种编程语言。您仍然需要了解并使用脚本语言如 Python 或 Javascript,或者低级语言如 C。 但是大多数软件可能会始于像 CW 这样的界面中写入的句子。

    8310

    编程指导】学编程英语一定要好么?

    而国外的文档,语言其实都是很平实的,就像我们不会用文言文来写我们的文档一样,这样的文档对英语的要求并不是太高。...一、编程入门英语不好不用担心 说实话,我的英语也不好.但是我觉得,学编程语言初期中用到的英语只不会超过100个。根本难不倒想学编程的你。...但后期深入的学习中要掌握一门编程语言提供的程序资源(术语是函数库或称类库或称组件库),由于这些用到的英语单词会比较多些,不过只要你多用用google,bing翻译一下。...二、编程提高需要学习英语 有些人英语很好,但在电脑编程方面一点都不懂,如果让他来看那些程序资源(就是函数库或类库或组件库),他一定会感到晕得.话说回来,英语学好了,对自己绝对是有好处的,有很多的学习资料是英语的...个人感悟:编程英语是相辅相成的,你英语不好但是不影响你学习编程。但要成为大牛英语学好也是必须。

    1.2K50

    英语不好能不能学编程

    大家好,欢迎来到 Crossin的编程教室 ! 常有人问我:我英语不好,想学编程行不行? 这个问题需要分情况讨论。 1....英语好不是学习编程的先决条件。 2. 会吃力 然而,英语不好,你可能就不能一眼看懂报错信息,需要花上比别人多的时间来调试。...不过现在每种编程语言都有数不清的中文书籍,中文编程资料也相当丰富,再加上AI的发展让翻译已经不是件难事。所以靠着这些资源,差不多也够用了。...英语不好会让你在学编程时需要多花点时间,以及让你错过一部分资源。但这不是什么不可逾越的障碍。即使你以编程为职业,一样也可以在英语不好的前提下顺利开展工作。 3. 但是…… 毕竟还是有一些影响的。...不论是在同一家公司里,还是在远程协作的项目中,你能参与的可能性都会因为语言障碍大大降低。 总结来说就是:不要因为英语不好而拒绝学习编程,但建议在学习编程的过程中,抽时间持续提升英语水平。

    14230

    英语不好,能看懂编程吗?

    学会编程不需要多高深的英语水平,想要学会编程,简单的英语水平足够了,现在的程序开发环境又很友好,基本上打开之后不需要怎么配置,直接写代码就行,程序语言无外乎顺序、判断和循环语句,写一写简单的程序毫无压力...一、编程入门英语不好不用担心 英语的语法跟编程的语法也不同。虽然看似都是26个英文字母在那拼写,英语的单词太多了,而编程常用的元素也就那么20多个,命令也就那么几个。...英语能学好的人未必能学好编程编程注重的是逻辑思维,而学好英语注重的是单词、语法、加上自己的勤奋等等。...如果你想在编程上有长足的进步,不但逻辑思维要好,而且英语至少要达到四级水平。...在编程语言选择上,应该尽量选择市场应用广泛、入门相对容易、市场需求大、好找工作、薪资待遇也不错的;比如:PHP软件开发、WEB前端开发技术等。

    1.1K00

    英语基础不好,能学好编程吗?

    英语基础不好,能学好编程吗?相信这是摆在很多学习编程英语不好的人面前的困惑。 那么英语到底影不影响对编程的学习呢,小编就来和你们说说。...学会编程不需要多高深的英语水平,想要学会编程,简单的英语水平足够了,现在的程序开发环境又很友好,基本上打开之后不需要怎么配置,直接写代码就行,程序语言无外乎顺序、判断和循环语句,写一写简单的程序毫无压力...实际上C语言和C++语言本身需要的英文单词,学名关键词或者保留字,也就几十个。...但后期深入的学习中要掌握一门编程语言提供的程序资源(术语是函数库或称类库或称组件库),由于这些用到的英语单词会比较多些,不过只要你多用用google,bing翻译一下。...个人建议:在编程语言选择上,应该尽量选择市场应用广泛、入门相对容易、市场需求大、好找工作、薪资待遇也不错的;比如:PHP软件开发、WEB前端开发技术等。

    1.4K60

    Reactjs+BootStrap开发自制编程语言Monkey的编译器:发刊词

    basci编译器,C++之父Bjarne Stroustrup,C语言之父丹尼斯.里奇,java之父James Gosling。...我曾经花两年的时间在网易云课堂上完成了一个编译器的开发课程,我用java制作了一个C语言编译器,这个编译器不但能解释执行C语言,同时还能把C语言编译成java字节码,使得C语言也能运行到java虚拟机上...为了弥补这些缺陷,我打算重新用Reactjs+BootStrap的方式开发一门新编程语言的编译器,这么语言叫Monkey,它有点类似于javascript这种脚步语言,由于语法简单,实现它的编译器比实现...C语言的编译器要容易很多。...Monkey语言具备编程语言的所有要素: 1, 有类似C语言的语法结构 2, 支持变量绑定 3, 支持整形和布尔型数据类型 4, 支持算术表达式的解析 5, 一级类定义(first-class)和高阶函数

    65940

    “全宇宙首个”用中文编写的操作系统?

    整理 | 郑丽媛 、出品 | CSDN(ID:CSDNnews) 对许多不擅长英语编程萌新来说,乍一看代码中各类英文关键字 、变量名、函数名等,难免十分头大,甚至还会对自己能否学好编程提出质疑。...“乙语言”就是 c 语言。那个 z_tools 目录就是《30 天自制操作系统》源码光盘里的文件夹,太明显了。 《30 天自制操作系统》是什么?...那么不擅长英语是否真的会影响编程学习,中文编程必要吗?对于这个问题,答案可能因人而异。...中文编程不必要 同时,也有部分开发者认为,想要中文编程的人大多是“编程门外汉”:以为自己之所以学不好编程,是因为不适应英语。 但实际上,换成“汉语”他们也还是不适应。...因为他们不适应的不是英语,而是结构化思考和表达。中文编程看似会降低入门门槛,但不论中文还是英文,复杂的编程思维并不会变。 那么,对于以上观点,你有什么看法呢?

    58630

    “全宇宙首个”用中文编写的操作系统?

    整理 | 郑丽媛 、出品 | CSDN(ID:CSDNnews) 对许多不擅长英语编程萌新来说,乍一看代码中各类英文关键字 、变量名、函数名等,难免十分头大,甚至还会对自己能否学好编程提出质疑。...“乙语言”就是 c 语言。那个 z_tools 目录就是《30 天自制操作系统》源码光盘里的文件夹,太明显了。 《30 天自制操作系统》是什么?...那么不擅长英语是否真的会影响编程学习,中文编程必要吗?对于这个问题,答案可能因人而异。...中文编程不必要 同时,也有部分开发者认为,想要中文编程的人大多是“编程门外汉”:以为自己之所以学不好编程,是因为不适应英语。 但实际上,换成“汉语”他们也还是不适应。...因为他们不适应的不是英语,而是结构化思考和表达。中文编程看似会降低入门门槛,但不论中文还是英文,复杂的编程思维并不会变。 那么,对于以上观点,你有什么看法呢?

    52210

    NLP被英语统治?打破成见,英语不应是「自然语言」同义词

    然而,NLP领域陷入了一个恶性循环,阻碍了我们语言研究方面的发展,研究英语以外的语言通常被认为是“特定语言”,并因此被认为不如在同等条件下研究英语更为重要。...我认为,其中一个关键的潜在因素是,人们错误地认为英语是一种具有足够代表性的语言,因此仅仅研究英语并不是特定于语言的。这种误解是由于当所学的语言英语时,不给它进行命名的习惯所导致的。...在2018年的11月,我正在写一个可用于计算语义学和语用学的语言资源的时候,感觉自己又一次受到了挫折,即使是为英语提供语言资源的论文也还是不能很清楚地说明英语就是所讨论和研究的语言。...,不要再假装只致力于英语研究,英语不是“特定语言”。...以下列出了英语不能代表所有语言的原因,也就是说,其它语言的特点与英语并不相同,即使是世界广泛使用的一些语言英语是一种口语,而不是手语。

    91400

    【我问 Crossin】英语不好能不能学编程

    有比较具体的编程细节,也会有一些方向的建议,以及学习经验、编程小技巧的分享。 大家有想问的问题可以直接在本栏目文章下留言。...我英语不好,能不能学编程? 可以学,就像有人不懂日语,也照样打通了很多游戏。查下英汉词典,记住语法涉及的那些单词,if while for class def 之类,足够你写出完整的程序。...英语好不是绝对必要的。 然而,英语不好,你可能就看不懂报错信息,需要花上比别人多的时间来调试。你无法查阅原版的文档和 StackOverflow 上的问答,只能在有限的中文资料里寻找二手信息。...所以,建议立刻开始你的编程学习,同时抽时间持续提升英语水平。

    79390

    Reactjs+BootStrap开发自制编程语言Monkey的编译器:创建简易的页面IDE

    接着执行以下命令: npm install --save react-bootstrap 上面的命令用来安装试用与react框架的boostrap UI控件库,我们将使用它来开发我们Monkey编程语言的...接下来,我们将进入MonKey语言IDE的开发,我们将利用reactjs组件化开发的特点,通过乐高式搭积木的方式,逐步开发出一个功能丰富的页面IDE出来,我们先为项目增加一个新的react组件。...这就是我们想要的Monkey编程语言开发所用的IDE,相当于Visual Studio或Eclipse,当然现在看起来它太简陋,我们后续会慢慢增强其功能。...这里的JSX是一个比较抽象的概念,React的初学者很容易被这个概念搞得糊里糊涂,就像C语言的初学者总会被‘指针’搞得二和尚摸不在头脑一样。...我们看到,在render函数中,我们还定义了一个textAreaStyle的对象,不难看出,它实际上承担了原来CSS的作用,也就是说,在JSX中,我们可以统一用javascript语言来代替原来需要用HTML

    4.6K20
    领券