diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-02-16 20:37:55 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-02-16 20:37:55 +0000 |
commit | 084c86a81820f17db9eee7362120586199008e27 (patch) | |
tree | 16d2356e05062ee32976a6507fec7cb3e8c7530d /dcopidlng/Ast.pm | |
parent | f4fae92b6768541e2952173c3d4b09040f95bf7e (diff) | |
download | tdepim-084c86a81820f17db9eee7362120586199008e27.tar.gz tdepim-084c86a81820f17db9eee7362120586199008e27.zip |
Remove unused dcopidlng local copy
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1221130 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'dcopidlng/Ast.pm')
-rw-r--r-- | dcopidlng/Ast.pm | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/dcopidlng/Ast.pm b/dcopidlng/Ast.pm deleted file mode 100644 index 0fb4bd0d4..000000000 --- a/dcopidlng/Ast.pm +++ /dev/null @@ -1,91 +0,0 @@ -package Ast; -use strict; - -use vars qw/ $this $pack @endCodes /; - -#----------------------------------------------------------------------------- -# This package is used to create a simple Abstract Syntax tree. Each node -# in the AST is an associative array and supports two kinds of properties - -# scalars and lists of scalars. -# See SchemParser.pm for an example of usage. -# ... Sriram -#----------------------------------------------------------------------------- - -# Constructor -# e.g AST::New ("personnel") -# Stores the argument in a property called astNodeName whose sole purpose -# is to support Print() - -sub New { - my ($this) = {"astNodeName" => $_[0]}; - bless ($this); - return $this; -} - -# Add a property to this object -# $astNode->AddProp("className", "Employee"); - -sub AddProp { - my ($this) = $_[0]; - $this->{$_[1]} = $_[2]; -} - -# Equivalent to AddProp, except the property name is associated -# with a list of values -# $classAstNode->AddProp("attrList", $attrAstNode); - -sub AddPropList { - my ($this) = $_[0]; - if (! exists $this->{$_[1]}) { - $this->{$_[1]} = []; - } - push (@{$this->{$_[1]}}, $_[2]); -} - -# Returns a list of all the property names of this object -sub GetProps { - my ($this) = $_[0]; - return keys %{$this}; -} - -sub Visit { - # Converts each of this AstNode's properties into global variables. - # The global variables are introduced into package "main" - # At the same time, a piece of code is formed to undo this work above - - # $endCode essentially contains the values of these global variables - # before they are mangled. endCode gets pushed into a stack (endCodes), - # which is unwound by UnVisit(). - - local ($this, $pack) = @_; - - - my $code = ""; - my $endCode = ""; - - - foreach my $k (keys %{$this}) { - - my $glob = $pack."::".$k; - - if ( defined $$glob ) { - - if ( ${$glob} ne "" ) { - $$glob =~ s/\'/\\\'/g; - } - - $endCode .= '$'.$pack.'::'.$k. " = '".$$glob."';"; - } else { - $endCode .= '$'.$pack . "::". $k . ' = "";'; - } - $code .= '$'.$pack . "::" . $k . "= \$this->{\"$k\"};"; - } - push (@endCodes, $endCode); - eval($code) if $code; -} - -sub UnVisit { - my $code = pop(@endCodes); - eval($code) if ($code); -} - -1; |