Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!wuarchive!udel!haven!ni.umd.edu!uc780.umd.edu!cs450a03 From: cs450a03@uc780.umd.edu Newsgroups: comp.lang.apl Subject: J 3.0 words BNF Message-ID: <26MAR91.22244391@uc780.umd.edu> Date: 26 Mar 91 22:24:43 GMT Sender: usenet@ni.umd.edu (USENET News System) Organization: The University of Maryland University College Lines: 51 Nntp-Posting-Host: uc780.umd.edu Experimenting with J to find out what its definition is is educational, but at times I wish I had a more thorough definition of what it's doing. Of course, J changes so fast such things might be considered silly 8-) Anyways, here's what I've come up with for what J is doing with the words function (;:): This is what you apply ;: to. Result is a list of the words (in the same order they originally appeared). As is usual for this sort of thing, rules apply to the largest sequence possible. sentence =:: (BEGINING_OF_LINE *space *(word *space) END_OF_LINE) word =:: [(alpha *[alpha numeric] *dot) (glyph *dot) (numeric *[alpha numeric] +dot) (numeric *[alpha (decimal numeric) numeric (space numeric)]) (quote *[quotable (quote quote)] quote)] ---------------------------- character sets ---------------------------- alpha =:: [a-zA-Z] decimal =:: [.] dot =:: [.:] glyph =:: [!-&(-,---/<-@[-`{-~] numeric =:: [_0-9] quote =:: ['] quotable =:: [^'] space =:: [ \t] Notes: except for decimal, and quotable, all character sets are unique. I haven't tried control characters and ascii characters beyond ~, but I suspect they should be considered "glyphs" \t represents a tab character - between two characters represents a range of ascii characters () indicates serial ordering [] indicates any of the options ^ indicates negation (all characters except following) * indicates 0 or more repetitions of next thing (yeah, I reversed it... seems easier to read though) + indicates 1 or more repetitions of next thing Has anyone with 3.0 seen anything different from this? Anybody from ISI care to comment on how stable this is likely to be? (Yeah, I know, it's stable till it changes...) Raul Rockwell