NAME
Soar::Production - REPRESENT SOAR PRODUCTIONS
VERSION
version 0.01
SYNOPSIS
DESCRIPTION
NAME
Soar::Production- REPRESENTS A SOAR PRODUCTION
"new"
Argument: text of a Soar production. Creates a new production object
using the input text.
"prods_from"
This method extracts productions from a given text. It returns a
reference to an array containing production objects. Note that all
comments are removed as a preprocessing step to detecting and extracting
productions. It takes a set of named arguments: 'file'- the name of a
file to read. 'text'- the text to read. You must choose to export this
function via the "use" function:
use Soar::Production qw(prods_from);
"prods_from_file"
A shortcut for "prods_from(file =" $arg)>.
"name"
Optional argument: name to assign production. Sets the name of the
current production if an argument is given. Returns the name of the
production.
TODO
"state_name"
Set/get name of matched state
"superstate_name"
Set/get name of matched state's superstate
"type"
Does this production match a state or an impasse?
"validate"
Check this production against a datamap.
check semantic correctness
Soar::Production::Parser does not check semantic correctness. The following are good things to check:
=over3
=item everything matched in RHS must be in LHS
=item no empty RHS
=item Only allowable non-operator preference is REJECT
=item Check for existence of RHS function
=item <s> not connected
=item disconnect from goal or impasses (no 'state' or 'impasse' keyword)
=back
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.
POD ERRORS
Hey! The above document had some coding errors, which are explained
below:
Around line 100:
Unknown directive: =head