自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (22)
  • 收藏
  • 关注

原创 Studying note of GCC-3.4.6 source (128)

<br />5.12.5.      The third example <br />Now we havedefinition of “SmallObject”, we use following “main” function to use thisclass, and see what’s immediate tree will be created.<br />using namespace Loki;<br />int main ()<br />{<br />SmallObject<>

2010-11-26 13:03:00 784

原创 GCC-3.4.6源代码学习笔记(128)

<br />5.12.5.      第三个例子<br />现在我们已经有了“SmallObject”的定义,那么我们使用下面的“main”函数来使用这个类,从中看一下将会产生怎样的中间树。<br />using namespace Loki;<br />int main ()<br />{<br />SmallObject<>object_;<br />return 1;<br />}5.12.5.1.             using指示<br />假定这个“main”函数在另一个源文件中

2010-11-26 13:01:00 1315

原创 Studying note of GCC-3.4.6 source (127)

<br />5.12.4.2.3.2. Buildnodes for base-clause<br />Notice that argument base refers to the BOUND_TEMPLATE_TEMPLATE_PARMnode for our example, and access is access_public_node.<br /> <br />2242   tree <br />2243   finish_base_specifier (tree bas

2010-11-05 10:03:00 630

原创 GCC-3.4.6源代码学习笔记(127)

<br />5.12.4.2.3.2. 为base-clause构建节点<br />注意参数base在我们的例子中指向的BOUND_TEMPLATE_TEMPLATE_PARM节点,access是access_public_node。<br /> <br />2242   tree <br />2243   finish_base_specifier (tree base, treeaccess, bool virtual_p)                 in semantics.c<br /

2010-11-05 10:00:00 832

原创 Studying note of GCC-3.4.6 source (126)

<br /><br />5.12.4.2.3.1.1.3.   Generatetemplate-id<br />So as result,for this non-type argument, the IDENTIFIER_NODE of “chunkSize” is returned.Similarly is the next argument “maxSmallObjectSize”. So at exitting coerce_template_parms,at line 4

2010-11-05 09:56:00 739

原创 GCC-3.4.6源代码学习笔记(126)

<br /><br />5.12.4.2.3.1.1.3.   生成template-id<br />那么作为结果,对于这个非类型实参,“chunkSize”的IDENTIFIER_NODE被返回。类似的还有下一个实参“maxSmallObjectSize”。因此在lookup_template_class的4346行退出coerce_template_parms时,arglist为下图中标记为红色的节点。<br />(点此打开)<br />图111:构建的arglist<br /> <br />loo

2010-11-05 09:54:00 946

原创 Studying note of GCC-3.4.6 source (125)

<br />5.12.4.2.3.       Process base class5.12.4.2.3.1. Parsebase-clause<br />Tokens after “SmallObject” are “: publicThreadingModel<SmallObject<ThreadingModel, chunkSize, maxSmallObjectSize>>”, which indicates the base class “SmallObject” derive

2010-11-05 09:44:00 928

原创 GCC-3.4.6源代码学习笔记(125)

<br /> <br />5.12.4.2.3.       处理基类5.12.4.2.3.1. 解析base-clause<br />“SmallObject”后的符号是:“: publicThreadingModel<SmallObject<ThreadingModel, chunkSize,maxSmallObjectSize> >”,它们表示了“SmallObject”所派生的基类。class-head的规则重现如下。<br />class-head:<br />   class

2010-11-05 09:40:00 1294

原创 Studying note of GCC-3.4.6 source (124)

<br /><br />5.12.4.2.2.2.3.         Finish template-id<br />If template-name is an IDENTIFER_NODE, it maybe a member template;and if it is a TEMPLATE_DECL of class template, the template-id itself is aclass-name; and if it is FUNCTION_DECL, OVERLOAD

2010-11-05 09:22:00 706

原创 GCC-3.4.6源代码学习笔记(124)

<br /><br />5.12.4.2.2.2.3.         完成template-id<br />如果模板名是一个IDENTIFER_NODE,它可能是一个成员模板;而如果它是应该类模板的TEMPLATE_DECL,template-id 本身是一个类名;而如果是FUNCTION_DECL,OVERLOAD或METHOD_DECL,template-id 就是一个函数名。<br />因此如果模板名是一个类模板,template-id可能代表一个新的类,对此我们需要通过finish_templ

2010-11-05 09:19:00 1228

原创 Studying note of GCC-3.4.6 source (123)

<br /><br />5.12.4.2.2.2.2.         Parse argument list<br />Then cp_parser_enclosed_template_argument_list isinvoked for parsing the enclosed template argument list within the template-id.Before the handling, greater_than_is_operator_p slot of p

2010-11-05 09:16:00 1238

原创 GCC-3.4.6源代码学习笔记(123)

<br /><br />5.12.4.2.2.2.2.         解析实参列表<br />然后调用cp_parser_enclosed_template_argument_list来解析template-id中所包含的模板实参列表。在这个处理之前,parser的greater_than_is_operator_p域将被设置为false,因为从现在起进来的“>”将不被视为操作符。而在实参列表中输入的“>>”将被解析作“>”和“>”,例如,“A<B<>> a”,前端将把它视为“A<B<> > a”。看

2010-11-05 09:14:00 1628

原创 Studying note of GCC-3.4.6 source (122)

<br />5.12.4.2.2.       Lookupclass name<br />When invoking cp_parser_class_name, typename_keyword_p is true if andonly if the keyword typename has been used to indicate that nameslooked up in dependent types should be assumed to be types; te

2010-11-05 09:04:00 1098

原创 GCC-3.4.6源代码学习笔记(122)

<br />5.12.4.2.2.       类名查找<br />在cp_parser_class_name的调用中,当且仅当关键字typename已经被使用来表示,在依赖类型中查找的名字应该被视为类型时,typename_keyword_p是true;当且仅当关键字template已经被使用来表示其次出现的名字是一个模板时,template_keyword_p是true;当且仅当下一个名字应该被视为类名(class-name),即便它还被声明为其它类别的名字,时,type_p是true;如果chec

2010-11-05 09:00:00 1278

原创 Studying note of GCC-3.4.6 source (121)

<br />5.12.4.2.             Parse class-head<br />The token follows thetemplate-parameter-list is “class” which denotes the definition/ declaration ofa class-template. Same as the previous example, along with the following callstack: cp_parser_temp

2010-11-05 08:56:00 919

原创 GCC-3.4.6源代码学习笔记(121)

<br />5.12.4.2.             解析class-head<br />跟在template-parameter-list后的符号是“class”,这标记着这是类模板的定义/声明。与前面的例子相同,沿着下面的调用栈:cp_parser_template_declaration_after_exportàcp_parser_single_declarationàcp_parser_decl_specifier_seqàcp_parser_type_specifier, 关键字“cl

2010-11-05 08:54:00 1337

原创 Studying note of GCC-3.4.6 source (120)

5.12.4.1.2.1. Processnon-type parameter<br />After parsing this non-type template parameter, no doubt, next itneeds process this parameter to finish the revelant sub-tree and insert it inthe intermediate tree.<br /> <br />2161   tree<br />2162   pr

2010-11-05 08:51:00 615

原创 GCC-3.4.6源代码学习笔记(120)

<br />5.12.4.1.2.1. 处理非类型参数<br />在解析了这个非类型模板参数之后,下一步,需要处理这个参数来完成相关的子树并插入中间树。<br /> <br />2161   tree<br />2162   process_template_parm(tree list, tree next)                                                      in pt.c<br />2163   {<br />2164     tree

2010-11-05 08:50:00 904

原创 Studying note of GCC-3.4.6 source (119)

<br />5.12.4.1.2.       Non-typeparameter<br />The second and third parameters for the template are non-typetemplate parameter, which have their type specified but varied value assignedat instantation or speclization. The type-specifier “std::size_

2010-11-05 08:43:00 1288

原创 GCC-3.4.6源代码学习笔记(119)

<br />5.12.4.1.2.       非类型参数<br />该模板的第二及第三个参数都是非类型参数。它们都指定了类型,但在具现或特化时会分配不同的值。类型描述符(type-specifier)“std::size_t”是simple-type-specifier的形式。而且,simple-type-specifier“std::size_t”包含了两个部分:“std::”构成了nested-name-specifier,而“size_t”是类型名(type-name)。类型“size_t”通常

2010-11-05 08:41:00 1962

Introduction to Theory of Computation

This is a free textbook for an undergraduate course on the Theory of Computation, which we have been teaching at Carleton University since 2002.Until the 2011/2012 academic year, this course was offered as a second-year course (COMP 2805) and was compulsory for all Computer Science students. Starting with the 2012/2013 academic year, the course has been downgraded to a third-year optional course (COMP 3803).

2018-09-23

Survey on Instruction Selection

Instruction selection is one of three optimization problems involved in the code generator back-end of a compiler. The instruction selector is responsible of transforming an input program from its target-independent representation into a target-specific form by making best use of the available machine instructions. Hence instruction selection is a crucial part of efficient code generation.

2018-09-23

Towards a Compilation infrastructure for network processors

Modern network processors (NPs) typically resemble a highly-multithreaded multiprocessor-ona-chip, supporting a wide variety of mechanisms for on-chip storage and inter-task communication. NP applications are themselves composed of many threads that share memory and other resources,and synchronize and communicate frequently. In contrast, studies of new NP architectures and features are often performed by benchmarking a simulation model of the new NP using independent kernel programs that neither communicate nor share memory. In this paper we present a NP simulation infrastructure that (i) uses realistic NP applications that are multithreaded, share memory, synchronize, and communicate; and (ii) automatically maps these applications to a variety of NP architectures and features. We use our infrastructure to evaluate threading and scaling, on-chip storage and communication, and to suggest future techniques for automated compilation for NPs.

2018-09-23

Crafting a Compiler

Brief Contents 1 Introduction 1 2 A Simple Compiler 31 3 Scanning—Theory and Practice 57 4 Grammars and Parsing 113 5 Top-Down Parsing 143 6 Bottom-Up Parsing 179 7 Syntax-Directed Translation 235 8 Symbol Tables and Declaration Processing 279 9 Semantic Analysis 343 10 Intermediate Representations 391 11 Code Generation for a Virtual Machine 417 12 Runtime Support 445 13 Target Code Generation 489 14 Program Optimization 547

2018-09-01

How Debuggers Work

a total guide to debuggers: what they do, how they work, and how to use them to produce better programs

2018-09-01

Compiler Construction-20th

the essays collection of conference of Compiler Construction-20th

2018-09-01

Compiler Construction-19th

the essays collection of conference of Compiler Construction-19th

2018-09-01

Compiler Construction-17th

the essays collection of conference of Compiler Construction-17th

2018-09-01

Compiler Construction-16th

the essays collection of conference of Compiler Construction-16th

2018-09-01

Compiler Construction-5th

the essays collection of conference of Compiler Construction-5th

2018-09-01

Construction and Evolution of Code Generator

It describes the Construction and Evolution of Code Generator

2018-09-01

Compiler Construction-11th

the essays collection of conference Compiler Construction-11th

2018-09-01

The compiler design handbook

The compiler design handbook, which describes the design practice of compiler

2018-09-01

Data_Flow_Analysis_Theory_And_Practice(Bookos.org)

Data Flow Analysis Theory And Practice for compiler development

2018-09-01

The Compiler Design Handbook Optimizations and machine code generation

The Compiler Design Handbook Optimizations and machine code generation

2018-09-01

C++_Coding_Standards_101_Rule

C++ Coding Standards 101 Rule, Andrei Alexandrescu

2018-08-24

instruction scheduling for instruction level parallel processor

instruction scheduling for instruction level parallel processor

2018-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除