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

NAME

Parser - a simple algebraic command parser

DESCRIPTION

new

Return a reference to a new Parser object.

variables
variables HASHREF

If input is passed, then assign this input as the new value of variables. Return the current value of variables to teh caller.

status
status INT

If input is passed, then assign this input as the new value to the current status. Return the current status to the caller.

statusIsValid

Returns a boolean indicating whether or not the current status is 'valid.'

statusToString

Converts the current status value into its string representation and returns it.

toString

Return a string representing the internal state of the parser.

setVariable NAME,VALUE

Set the variable NAME to VALUE.

getVariable NAME

Return the value of variable NAME to the caller.

haveVariable NAME

Return a boolean indicating the existence of variable NAME.

printConstant INFO

Return a string representing the constant referred to by INFO.

printVariable INFO

Return a string representing the variable referred to by INFO.

printCommand

Return a string representing the results of the command referred to by INFO.

doPrint

Based on the block info, generate a string containing a printable value.

doGBasis

Calculate the Groebner Basis of p1,...,p2.

doSPoly

Calculate the S-Poly of p1 and p2.

doMonLCM

Calculate the monomial Least Common Multiple of p1 and p2.

doReduce

Attempt to reduce a polyomial to a simpler form.

doGCD

Determine the Greatest Common Divisor of p1 and p2, where p1 and p2 are single variabel polynomials.

doMult

Perform polynomial multiplication.

doQuo

Determine the quotient of p1 / p2, where p1 and p2 are single variable polynomials.

doRem

Determine the remainder of a p1 / p2.

doNormalf

Calculate the normal form of p1 / (p2,...,pn).

doDivide

Perform polynomial division.

doSubtract

Perform polynomial subtraction.

doAdd

Perform polynomial addition.

doFunction

Determine and execute a function as indicated by the block info.

doMonomialOrdering

Modify the monomial ordering.

haveMonomialOrdering

Return a boolean indicating the existence of a monomial ordering.

doVariableOrdering

Modify the variable ordering.

haveVariableOrdering

Return a boolean indicating the existence of a variable ordering.

doVerbose

Toggle the verbose state of the interpreter and and polynomials contained within.

doState

Generate a string representing the state of the variables in the interpreter.

doValue

See value() in Language Commands.

doAssignment

Determine and assign a value to a variable.

getBlockInfo

Query a string to determine its nature relative to the parsing scheme and return the info.

varToString VARNAME

Retrieve the contents of VARNAME and convert the value into a string.

parseLine STRING

Parse the string as a command.

parseCmdString STRING

Isolate each command in STRING by parsing on ';', and then iterate through the list and call parseLine for each.

parseCGICmdString STRING

Operates almost identically to parseCmdString except that the resulting string is parsed, replacing each EOL with an HTML EOL.

parseFile FILENAME

Read a file and pass it to parseCmdString.

AUTHOR

Brian Guarraci <bguarrac@hotmail.com>