Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

index


SourceForge.net Logo     CTTL on    
    SourceForge    
    Download    
    Latest    
    Documentation    
    Index    
    Library    
    News    
    CVS    
    Repository    
   Other    
   Links    

See also:

Common Text Transformation Library

  1. Overview
    1. Introduction
    2. CTTL license
    3. Portability and debugging
    4. Thread safety
    5. Terminology
    6. Grammar
    7. Mutable universe
    8. Download CTTL
    9. Sample programs
  2. Substrings
    1. Introduction
    2. Identity vector
    3. The input class
    4. The node class
      1. Node creation
      2. Node identity
      3. Copying nodes
      4. Node assignment
      5. Node swap
      6. Offset-like behavior of the node
      7. Node navigation
      8. Node data access
      9. Adaptor behavior of the node
    5. Edge classes
      1. Edge creation
      2. Copying edges
      3. Edge assignment
      4. Edge swap
      5. String-like behavior of the edge
      6. Adaptor behavior of the edge
    6. Example
  3. Grammar evaluation
    1. Introduction
    2. Alphabets and symbols
    3. Grammar expression
      1. Overview
      2. Left factoring
      3. Left recursion
    4. Parseable universe
    5. Grammar evaluation methods
      1. Method match()
      2. Method find(), search
      3. Method bang_find(), repeatable search
      4. Leftmost terminal symbol
      5. Search transitivity
      6. Search parsers
      7. Method runtime_match()
    6. Evaluation result
    7. Production rule functions
    8. Semantic actions
    9. Strict universe: strict_edge_T
    10. White space policies
      1. Pre-defined policies
        1. policy_default
        2. policy_space<>
        3. policy_space< flag_follow_region >
        4. policy_space< flag_follow_space|flag_follow_region >
        5. policy_space< flag_cpp_comments >
    11. Stream parsers
  4. Grammar tutorial
    1. Abstract
    2. Arithmetic expression parser sample
    3. Sample output
    4. Program organization
    5. The grammar
    6. Semantic action example
  5. CTTL grammar reference
    1. Introduction
    2. Lexeme functions
      1. symbol()
      2. entity()
      3. begin()
      4. end()
      5. symbol(true)
      6. symbol(false)
      7. begin(true)
      8. begin(false)
      9. begin(std::set<std::string>&)
      10. symbol(char)
      11. entity(char)
      12. begin(char)
      13. end(char)
      14. entity(is...)
      15. begin(is...)
      16. end(is...)
      17. first(is...)
      18. symbol(text)
      19. entity(text)
      20. begin(text)
      21. end(text)
      22. first(text)
    3. Function adaptors
      1. rule(), grammar rule adaptor
      2. CTTL_RULE()
      3. CTTL_MEMBER_RULE()
      4. CTTL_STATIC_RULE()
    4. Grammar expression adaptors
      1. Node expression adaptor
      2. Edge expression adaptor
      3. Entity expression adaptor
    5. Quotes
      1. Quote evaluation rules
      2. Quote formats
      3. Generic quote, quote(RL,RM,RR)
      4. Asymmetric quote, quote(true,RM,RR)
      5. Single character quote, quote(char,RM,char)
      6. Single wide character quote, wchar_quote(wchar_t,RM,wchar_t)
      7. ANSI single quote, ansi_single_quote(RM)
      8. ANSI double quote, ansi_double_quote(RM)
      9. C single quote, c_single_quote(RM)
      10. C double quote, c_double_quote(RM)
      11. Wide char ANSI single quote, wchar_ansi_single_quote(RM)
      12. Wide char ANSI double quote, wchar_ansi_double_quote(RM)
      13. Wide char C single quote, wchar_c_single_quote(RM)
      14. Wide char C double quote, wchar_c_double_quote(RM)
    6. Leximatic metaphors
      1. literal() and wchar_literal()
      2. entity() metaphor
    7. Backtracking vs. predictive parsing
    8. Overloaded operators
      1. Search operator, '!'
      2. Repeatable search operator, '!!'
      3. Unary logical not operator, '-'
      4. Unary Kleene star operator, '*'
      5. Unary Kleene plus operator, '+'
      6. Binary Kleene star operator, '*'
      7. Binary Kleene plus operator, '+'
      8. Greedy Kleene plus operator, '+'
      9. Binary set complement, '-'
      10. Binary sequence operator, '+'
      11. Binary set intersection operator, '&'
      12. Binary concatenation operator, '^'
      13. Binary set union operator, '|'
      14. Binary POSIX union operator, '||'
  6. CTTL Lambda Expressions
    1. introduction
    2. lambda requirements
    3. lambda expression
      1. example of data deposit
      2. example of subscript access to values
      3. example of text transformation
      4. example of closure (delayed function call)
    4. scalar primitive
      1. scalar interface
    5. stack primitive
      1. overloaded stack operators
    6. overloaded operators
      1. connecting lambda expressions with CTTL grammar rules
      2. Kleene star modifier (epsilon parser)
      3. Kleene plus modifier (direct parser)
    7. closure (delayed function call)
      1. higher-order functions
      2. pre-defined higher-order function expressions
    8. syntax trees
      1. arithmetic interpreter example
      2. integer tree
    9. lambda debugging and tracing
    10. Lambda samples:
      1. alphabetical index of lambda samples
      2. lambda grammars
      3. lambda expressions
      4. stl container access
      5. stl iterator access
      6. text transformation samples
      7. function composition samples
      8. scalar primitives
      9. overloaded subscript operator
      10. std::stack access
      11. cttl::node, cttl::edge access
      12. std::set, std::pair access
      13. std::map, std::pair access
      14. std::bitset access
      15. stream output iterators
  7. Grammar debugging and tracing
    1. Introduction
    2. Trace-level macros
      1. CTTL_TRACE_TRIVIAL
      2. CTTL_TRACE_RULES
      3. CTTL_TRACE_EVERYTHING
    3. Grammar trace macros
      1. CTTL_TRACE_MESSAGE
      2. CTTL_RULE
      3. CTTL_MEMBER_RULE
      4. CTTL_STATIC_RULE
    4. Trace sample
    5. Trace symbols
      1. Table of trace symbols
    6. Advice
  8. Utility Classes and Functions
    1. Utility Classes:
      1. cttl::inode_reader Representation of a readable node of a syntax tree.
      2. cttl::inode_writer Representation of a writable node of a syntax tree.
      3. cttl::offset_stack_guard Utility class to track cttl::input positions in nested grammars.
    2. Utility Functions:
      1. cttl::file2string() Reads data from a text file and returns a string containing the data.
      2. cttl::string2file() Writes data from the string into a text file.
      3. cttl::itos() Converts integer to string.
      4. cttl::pipe_input_2_vector() Inputs data from standard input and stores it in a vector of strings provided by the user.
      5. cttl::pipe_input_2_string() Inputs data from standard input and stores it in a string provided by the user.
      6. cttl::current_time() Returns current time.
      7. cttl::time2string() Converts time_t to string.
  9. External Links
  10. Quick Reference



Copyright © 1997-2006 Igor Kholodov mailto:cttl@users.sourceforge.net.

Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies. This document is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose.


Generated on Thu Nov 2 17:44:53 2006 for Common Text Transformation Library by  doxygen 1.3.9.1