tag:blogger.com,1999:blog-8068466035875589791.post5408472818715671382..comments2024-03-26T00:37:39.585-07:00Comments on Semantic Domain: A Typed, Algebraic Approach to ParsingNeel Krishnaswamihttp://www.blogger.com/profile/06853898957395028131noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-8068466035875589791.post-37188049429393379452018-08-02T06:52:10.060-07:002018-08-02T06:52:10.060-07:00Some minor comments:
Page 1:37, line 30: "We...Some minor comments:<br /><br />Page 1:37, line 30: "We can a term g /\ g'" ~> "We can add a term g /\ g'"<br />Page 7:1, line 4: "they must meet the precondition conditions" ~> "they must meet the preconditions"<br /><br />Page 7:1, line 6: "which holds when \tau.Follow and \tau'.First are disjoint, and \tau.Null is false", however, Lemma 2.2 (Unique decomposition) states in (2):<br /><br />"Suppose First(L)/\FollowLast(M)=0 and ~Null(L)" as precondition<br /><br />So I take \tau to correspond to L, and \tau' to correspond to M, but this does not make sense to me. ~> "which holds when \tau.First and \tau'.Follow are disjoint, and \tau.Null is false"<br /><br />Kind regards and thanks for this article.Hans-Dieterhttps://www.blogger.com/profile/15761059288646333327noreply@blogger.comtag:blogger.com,1999:blog-8068466035875589791.post-14941095339379282632018-08-02T06:49:41.738-07:002018-08-02T06:49:41.738-07:00This comment has been removed by the author.Hans-Dieterhttps://www.blogger.com/profile/15761059288646333327noreply@blogger.comtag:blogger.com,1999:blog-8068466035875589791.post-89396503172299602722018-07-29T16:13:02.972-07:002018-07-29T16:13:02.972-07:00This is very interesting, when I first encountered...This is very interesting, when I first encountered parser combinators I was sort of hoping they do some optimizations internally, was both pleasantly surprised at their simplicity and disappointed that one had to give up the efficiency guarantees of traditional lex/yacc. I think this paper addresses those concerns.<br />I'm not qualified to comment on the theoretical aspects of the paper, got just 2 remarks:<br /><br /> * I found it somehow easier to read g* ≜ μx. ε ∨ g · x by substituting in my mind μx. with `let rec x = `<br /><br /> * have you considered generating code for a different target language from context-free expressions? e.g. webassembly, XDP eBPF, and P4 languageedwinhttps://www.blogger.com/profile/00426537444521008387noreply@blogger.com