笔记 - C#从头开始构建编译器 - 3】的更多相关文章

视频与PR:https://github.com/terrajobst/minsk/blob/master/docs/episode-02.md 作者是 Immo Landwerth(https://twitter.com/terrajobst),微软 .NET 团队的项目经理. 这一集的主要内容: 1.添加 Binder,充当语义分析作用. Binder 基于 SyntaxTree,大体上 SyntaxKind.XXX_Expression => Bind_XXX_Expression. 在…
视频与PR:https://github.com/terrajobst/minsk/blob/master/docs/episode-01.md 作者是 Immo Landwerth(https://twitter.com/terrajobst),微软 .NET 团队的项目经理. 这一集主要内容是一个原始的递归下降 Parser. 思路: 1.Lexer (1) enum SyntaxKind (2) abstract class SyntaxNode (3) class SyntaxToken…
视频与PR:https://github.com/terrajobst/minsk/blob/master/docs/episode-03.md 作者是 Immo Landwerth(https://twitter.com/terrajobst),微软 .NET 团队的项目经理. 这一集前半段主要是重构代码,后半段的主要内容: 1. 变量与赋值表达式 2. 加强诊断信息 Parser 非常清晰 using System.Collections.Generic; namespace Minsk.C…
全文参考 < 基于 python 的深度学习实战> import numpy as np from keras.datasets import mnist from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten from keras.layers.convolutional import Conv2D, MaxPooling2D (x_train, y_train), (x_tes…
软工读书笔记  week 9                 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些感悟. 首先就是第十章“典型用户和场景”.书中提到,我们作为设计或者开发者,往往会以自己使用产品的习惯和熟悉程度来出发设计,但我们永远不能代表用户.搞一个“典型用户”会让我们考虑问题从用户的角度出发.由于我们正式开始项目后的第一周就是继续对用户做需求分析,这一章对我们有很大帮助. 我们也要考虑我们的典型用户.…
[HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用<q> 自成一段的引用就使用<blockquote> 不是所有浏览器都有相同的显示 块元素<block> <h1><h2>···<h6>和<blockquote>均是块元素 每个块元素都单独显示(分块显示) 内联元素<inli…
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs准备使用桌面环境,首先需要构建xorg服务 xorg服务项目地址:http://www.linuxfromscratch.org/blfs/view/stable-systemd/x/installing.html 一.制作构建xorg包的自动化脚本 1.需要完成书中bash shell启动文件章节 bash shell启动文件项目地址:http://www.linuxfromscratch.org/blfs/view…
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs准备使用桌面环境,首先需要构建xorg服务 xorg服务项目地址:http://www.linuxfromscratch.org/blfs/view/stable/x/xorg7.html 一.制作构建xorg包的自动化脚本 1.需要完成书中bash shell启动文件章节 bash shell启动文件项目地址:http://www.linuxfromscratch.org/blfs/view/stable/postl…
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我对这门课存在一定的误解,我更多地把这门课归入“程序”部分.在我原来的理解中,像电设二一样,自己学新知识(当然很多在电设一已经学过),然好以团队的形式独立去完成一个项目,只不过电设属于硬件(也包含一部分软件),而软工则纯粹是软件了. 而上课之后却和我预想的不一样.首先每周读书笔记这个就让我非常不解,有些推荐书籍…
一.灵活构建的意义 一个优秀的构建系统必须足够灵活,它应该能够让项目在不同的环境下都能成功地构建.例如,典型的项目都会有开发环境.测试环境和产品环境,这些环境的数据库配置不尽相同,那么项目构建的时候就需要能够识别所在的环境并使用正确的配置. 还有一种常见的情况是,项目开发了大量的集成测试,这此测试运行起来非常耗时,不适合在每次构建项目的时候都运行.因此需要一种手段能让我们在特定的时候才激活这些集成测试. Maven为了支持构建的灵活性,内置了三大特性,即属性.Profile和资源过滤.   二.…