public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Petteri Räty" <betelgeuse@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/libbash:master commit in: /
Date: Fri,  8 Jul 2011 14:03:01 +0000 (UTC)	[thread overview]
Message-ID: <c6f7de39b7e8ea59a02c768af17f9a5c8dc217cd.betelgeuse@gentoo> (raw)

commit:     c6f7de39b7e8ea59a02c768af17f9a5c8dc217cd
Author:     Mu Qiao <qiaomuf <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  5 15:15:34 2011 +0000
Commit:     Petteri Räty <betelgeuse <AT> gentoo <DOT> org>
CommitDate: Tue Jul  5 15:15:34 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/libbash.git;a=commit;h=c6f7de39

Merge branch 'multithreading'


 Makefile.am                     |    4 +-
 bashast/libbashWalker.g         |    2 +-
 src/builtins/source_builtin.cpp |   51 +++++++++++--------
 src/core/bash_ast.cpp           |   39 +++++++++++++-
 src/core/bash_ast.h             |    8 ++-
 utils/instruo.cpp               |  108 ++++++++++++++++++---------------------
 6 files changed, 125 insertions(+), 87 deletions(-)

diff --cc src/core/bash_ast.h
index fb42663,190b020..1dd7be2
--- a/src/core/bash_ast.h
+++ b/src/core/bash_ast.h
@@@ -63,18 -58,15 +63,18 @@@ class bash_ast: public boost::noncopyab
    antlr_pointer<ANTLR3_COMMON_TOKEN_STREAM_struct> token_stream;
    antlr_pointer<libbashParser_Ctx_struct> parser;
    pANTLR3_BASE_TREE ast;
-   antlr_pointer<ANTLR3_COMMON_TREE_NODE_STREAM_struct> nodes;
    std::function<pANTLR3_BASE_TREE(libbashParser_Ctx_struct*)> parse;
  
 -  typedef std::unique_ptr<libbashWalker_Ctx_struct, std::function<void(plibbashWalker)>> walker_pointer;
 +  typedef std::unique_ptr<libbashWalker_Ctx_struct, std::function<void(libbashWalker_Ctx_struct*)>> walker_pointer;
  
    void init_parser(const std::string& script, const std::string& script_path);
-   walker_pointer create_walker(interpreter& walker);
+   walker_pointer create_walker(interpreter& walker,
+                                antlr_pointer<ANTLR3_COMMON_TREE_NODE_STREAM_struct>& nodes);
  
  public:
 +  /// \brief build AST from istream
 +  /// \param source input source
 +  /// \param p the parser rule for building the AST
    bash_ast(const std::istream& source,
             std::function<pANTLR3_BASE_TREE(libbashParser_Ctx_struct*)> p=parser_start);
  
@@@ -108,14 -86,15 +108,16 @@@
  
    ///
    /// \brief interpret the script with a given interpreter
 -  /// \param the interpreter object
 +  /// \param walker the interpreter object
 +  /// \param walk the walker rule to evaluate the AST
    /// \return the interpreted result
    template<typename Functor>
 -  typename std::result_of<Functor(plibbashWalker)>::type
 +  typename std::result_of<Functor(libbashWalker_Ctx_struct*)>::type
    interpret_with(interpreter& walker, Functor walk)
    {
-     walker_pointer p_tree_parser = create_walker(walker);
+     antlr_pointer<ANTLR3_COMMON_TREE_NODE_STREAM_struct> nodes(
+       antlr3CommonTreeNodeStreamNewTree(ast, ANTLR3_SIZE_HINT));
+     walker_pointer p_tree_parser = create_walker(walker, nodes);
      return walk(p_tree_parser.get());
    }
  



             reply	other threads:[~2011-07-08 14:03 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-08 14:03 Petteri Räty [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-08-19 14:54 [gentoo-commits] proj/libbash:master commit in: / Petteri Räty
2012-06-03  9:08 Petteri Räty
2011-08-04 14:24 Petteri Räty
2011-08-04 14:24 Petteri Räty
2011-08-04 14:24 Petteri Räty
2011-08-04 14:24 Petteri Räty
2011-08-04 14:24 Petteri Räty
2011-08-04 14:24 Petteri Räty
2011-08-04 13:53 Petteri Räty
2011-07-20 14:01 Petteri Räty
2011-07-08 14:03 Petteri Räty
2011-07-03 20:21 Petteri Räty
2011-06-26 13:38 Petteri Räty
2011-06-26 13:38 Petteri Räty
2011-06-25 10:30 Petteri Räty
2011-06-25 10:05 Petteri Räty
2011-06-16 16:53 Petteri Räty
2011-06-11  8:52 Petteri Räty
2011-06-11  8:52 Petteri Räty
2011-06-11  8:24 Petteri Räty
2011-06-03 14:48 Petteri Räty
2011-06-03 12:43 Petteri Räty
2011-05-27 23:03 Petteri Räty
2011-05-24 14:50 Petteri Räty
2011-05-14 14:58 Petteri Räty
2011-05-14 14:58 Petteri Räty
2011-05-12 14:06 Petteri Räty
2011-05-11  7:19 Petteri Räty
2011-05-08 13:07 Petteri Räty
2011-05-07 12:25 Petteri Räty
2011-04-27 15:11 Petteri Räty
2011-04-20 11:26 Petteri Räty
2011-04-17 10:58 Petteri Räty
2011-04-14  4:50 Petteri Räty
2011-04-14  4:50 Petteri Räty
2011-04-12 18:29 Petteri Räty
2011-04-11  6:50 Petteri Räty
2011-04-09 13:08 Petteri Räty
2011-04-08 11:12 Petteri Räty
2011-04-07 16:44 Petteri Räty
2011-04-03 13:46 Petteri Räty
2011-04-03 13:46 Petteri Räty
2011-04-02 15:50 Petteri Räty
2011-03-30 12:48 Petteri Räty
2011-03-27  8:56 Petteri Räty
2011-03-26 19:08 Petteri Räty
2011-03-26 19:08 Petteri Räty
2011-03-26 12:24 Petteri Räty
2011-03-26 12:24 Petteri Räty
2011-03-26 12:24 Petteri Räty
2011-03-26 12:24 Petteri Räty
2011-03-26 12:24 Petteri Räty
2011-03-26 12:24 Petteri Räty
2011-03-26 12:24 Petteri Räty
2011-03-26 12:24 Petteri Räty
2011-03-25 12:11 Petteri Räty
2011-03-17  9:44 Petteri Räty
2011-03-12 11:53 Petteri Räty
2011-03-06 12:05 Petteri Räty

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c6f7de39b7e8ea59a02c768af17f9a5c8dc217cd.betelgeuse@gentoo \
    --to=betelgeuse@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox