An abbreviation for andP(p,q) is p@q.
If one of the arguments is a string then constParser is used to convert it into a parser.
i1 : (constParser "abc" @ constParser "def" : charAnalyzer) "abcdef" o1 = (abc, def) o1 : Sequence |
-- ../../../../Macaulay2/packages/Parsing.m2:114-122 Parser @ Parser := (p,q) -> new Parser from ( c -> ( if c =!= null then ( if (p' := p c) =!= null then p' @ q else if (val1 := p null) =!= null then if (q' := q c) =!= null then (val2 -> (val1,val2)) % q' ) else if (val1 = p null) =!= null and (val2 := q null) =!= null then (val1,val2) ))