I have information of the forms ABC, AB, BC, AC, A, B, C which I'd like to separate into 3 boxes. If a part is missing the box should be empty. I think it is impossible with the current FSM implementation because it must read a character to yield output. With only one character on input I cannot obtain '';'';C as output, or any three boxes. I haven't investigated emit vector but I don't see how it will help. The 3 boxes preserve the classification work that's already been accomplished, and I can use _3&([\) to generate a useful array.

We could enhance the FSM retaining backward compatibility. I'd prefer to pass a gerund as an additional part of x, have the Function code specify to use it as an agenda determined by the output code. The agenda would monadically process the matched items. It seems to me that such a j FSM would have the full capability of the gnu flex program, excepting the automatic generation of the state table.

Perhaps a new output code to emit something ( ace if F is 0 otherwise i.0 ? ) and change state without reading the next input item would be a simpler solution to treat the case I've presented.

Or this may be far too complicated and I need to write my own function. It would surprise me if the gerund concept were not part of the original implementation debate. And it would surprise me to learn that I understand the FSM. For now I'll use a flex bison program.

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to