2021-08-04 00:56:04 -04:00
|
|
|
(with_import "./fungll.kp"
|
|
|
|
|
(let (
|
2021-08-05 00:07:44 -04:00
|
|
|
|
|
|
|
|
_ (println "The a parser")
|
|
|
|
|
just_a_parser (parse (nterm 'A (altOp altStart (seqOp seqStart (term "a")))))
|
|
|
|
|
_ (println "parse result for a " (just_a_parser "a"))
|
|
|
|
|
_ (println "parse result for b " (just_a_parser "b"))
|
|
|
|
|
_ (println "parse result for aa " (just_a_parser "aa"))
|
|
|
|
|
_ (println "parse result for ba " (just_a_parser "ba"))
|
|
|
|
|
_ (println "parse result for ab " (just_a_parser "ab"))
|
|
|
|
|
|
|
|
|
|
_ (println "The aa parser")
|
|
|
|
|
just_aa_parser (parse (nterm 'A (altOp altStart (seqOp seqStart (term "aa")))))
|
|
|
|
|
_ (println "parse result for a " (just_aa_parser "a"))
|
|
|
|
|
_ (println "parse result for b " (just_aa_parser "b"))
|
|
|
|
|
_ (println "parse result for aa " (just_aa_parser "aa"))
|
|
|
|
|
_ (println "parse result for ba " (just_aa_parser "ba"))
|
|
|
|
|
_ (println "parse result for ab " (just_aa_parser "ab"))
|
|
|
|
|
|
|
|
|
|
_ (println "The a.a parser")
|
|
|
|
|
just_aa_parser (parse (nterm 'A (altOp altStart (seqOp (seqOp seqStart (term "a")) (term "a")))))
|
|
|
|
|
_ (println "parse result for a " (just_aa_parser "a"))
|
|
|
|
|
_ (println "parse result for b " (just_aa_parser "b"))
|
|
|
|
|
_ (println "parse result for aa " (just_aa_parser "aa"))
|
|
|
|
|
_ (println "parse result for ba " (just_aa_parser "ba"))
|
|
|
|
|
_ (println "parse result for ab " (just_aa_parser "ab"))
|
|
|
|
|
|
|
|
|
|
_ (println "The b|a.a parser")
|
|
|
|
|
just_aa_parser (parse (nterm 'A (altOp (altOp altStart (seqOp seqStart (term "b"))) (seqOp (seqOp seqStart (term "a")) (term "a")))))
|
|
|
|
|
_ (println "parse result for a " (just_aa_parser "a"))
|
|
|
|
|
_ (println "parse result for b " (just_aa_parser "b"))
|
|
|
|
|
_ (println "parse result for aa " (just_aa_parser "aa"))
|
|
|
|
|
_ (println "parse result for ba " (just_aa_parser "ba"))
|
|
|
|
|
_ (println "parse result for ab " (just_aa_parser "ab"))
|
|
|
|
|
|
|
|
|
|
_ (println "The a|a,A parser")
|
|
|
|
|
just_aa_parser (let-rec (
|
|
|
|
|
As (nterm 'A (altOp (altOp altStart (seqOp seqStart (term "a"))) (seqOp (seqOp seqStart (term ",")) As)))
|
|
|
|
|
) (parse As))
|
|
|
|
|
_ (println "parse result for a " (just_aa_parser "a"))
|
|
|
|
|
_ (println "parse result for b " (just_aa_parser "b"))
|
|
|
|
|
_ (println "parse result for aa " (just_aa_parser "aa"))
|
|
|
|
|
_ (println "parse result for ba " (just_aa_parser "ba"))
|
|
|
|
|
_ (println "parse result for ab " (just_aa_parser "ab"))
|
|
|
|
|
_ (println "parse result for a,a " (just_aa_parser "a,a"))
|
|
|
|
|
_ (println "parse result for a,a,a " (just_aa_parser "a,a,a"))
|
|
|
|
|
|
2021-08-04 00:56:04 -04:00
|
|
|
) nil))
|