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 not connected =item disconnect from goal or impasses (no 'state' or 'impasse' keyword) =back AUTHOR Nathan Glenn 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