The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Soar::WM - Traverse Soar working memory dumps

VERSION

version 0.04

SYNOPSIS

  use Soar::WM qw(wm_root_from_file);
  my $root = wm_root_from_file('/path/to/wme/dump');
  print $root->id; #probably prints S1
  
  #or
  my $wm = Soar::WM->new(text => '(S1 ^foo bar)
  (S2 ^boo far)');
  my $wme = $wm->get_wme('s2');

DESCRIPTION

This module represents Soar's working memory. It can be used for traversing and manipulating WME dumps generated by Soar.

NAME

Soar::WM - Perl extension for representing Soar working memory given a WME dump file

METHODS

new

Creates a new instance of Soar::WM. The arguments to this method are the same as those to wm_root.

get_wme

Argument: string working memory element ID ('S1', 'Z33', etc.); since WME ID's are always uppercase, this method is case insensitive.

Returns a Soar::WM::Element instance representing the given ID.

wm_root_from_file

This is a shortcut for:

 wm_root(file=>$arg)

It's single argument is the path to a WME dump file, or an opened file handle for one. It returns a Soar::WM::Element object representing the root of the given WME dump.

wm_root

This function reads in a Soar WME dump and returnes a Soar::WM::Element representing its root. It takes a named argument, file or text. Using wm_root(file=path)> or wm_root(file=$fileGlob)>, you can create an object given the path to a WME dump file.

Using wm_root(text='(S1 ^foo bar)')>, you can create an object using a given WME dump text. If neither argument is specified, this function will wait for input from standard in.

SEE ALSO

The homepage for the Soar cognitive architecture is here: http://sitemaker.umich.edu/soar/home.

AUTHOR

Nathan Glenn <garfieldnate@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Nathan Glenn.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.