Blame view

3rdparty/boost_1_81_0/libs/proto/doc/resources.qbk 2.15 KB
73ef4ff3   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
  [/
   / Copyright (c) 2008 Eric Niebler
   /
   / Distributed under the Boost Software License, Version 1.0. (See accompanying
   / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
   /]
  
  [/=========================================]
  [section:resources Background and Resources]
  [/=========================================]
  
  Proto was initially developed as part of _xpressive_ to simplify the job of 
  transforming an expression template into an executable finite state machine capable 
  of matching a regular expression. Since then, Proto has found application in the 
  redesigned and improved Spirit-2 and the related Karma library. As a result of 
  these efforts, Proto evolved into a generic and abstract grammar and tree 
  transformation framework applicable in a wide variety of EDSL scenarios.
  
  The grammar and tree transformation framework is modeled on Spirit's grammar and 
  semantic action framework. The expression tree data structure is similar to Fusion 
  data structures in many respects, and is interoperable with Fusion's iterators and 
  algorithms.
  
  The syntax for the grammar-matching features of `proto::matches<>` is inspired by 
  MPL's lambda expressions.
  
  The idea for using function types for Proto's composite transforms is inspired by Aleksey Gurtovoy's
  [@http://lists.boost.org/Archives/boost/2002/11/39718.php "round" lambda] notation.
  
  [/=================]
  [heading References]
  [/=================]
  
  [:[#boost_proto.users_guide.resources.SYB]Ren, D. and Erwig, M. 2006. A generic recursion toolbox for Haskell or: scrap your boilerplate systematically. In ['Proceedings of the 2006 ACM SIGPLAN Workshop on Haskell] (Portland, Oregon, USA, September 17 - 17, 2006). Haskell '06. ACM, New York, NY, 13-24. DOI=[@http://doi.acm.org/10.1145/1159842.1159845]]
  
  [/======================]
  [heading Further Reading]
  [/======================]
  
  A technical paper about an earlier version of Proto was accepted into the
  [@http://lcsd.cs.tamu.edu/2007/ ACM SIGPLAN Symposium on Library-Centric Software 
  Design LCSD'07], and can be found at [@http://lcsd.cs.tamu.edu/2007/final/1/1_Paper.pdf].
  The tree transforms described in that paper differ from what exists today.
  
  [endsect]