Path: csiph.com!xmission!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Andy Newsgroups: comp.compilers Subject: Re: Reachability of DFA part Date: Sat, 21 Dec 2019 01:15:58 -0800 (PST) Organization: Compilers Central Lines: 26 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <19-12-012@comp.compilers> References: <19-12-008@comp.compilers> <19-12-009@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="80896"; mail-complaints-to="abuse@iecc.com" Keywords: lex Posted-Date: 21 Dec 2019 13:10:00 EST X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <19-12-009@comp.compilers> Xref: csiph.com comp.compilers:2393 W dniu piątek, 20 grudnia 2019 17:41:04 UTC+1 użytkownik Kaz Kylheku napisał: > In the NFA automaton, every time the prefix of the input given so far > ends in ba, the machine will be in an acceptance state corresponding > to that trailing ba. Machine finally accept all strings begin from "ab" but "ba" will unused. This is similar to definition of comment: in Pascal. comment begin at { and end of }, careless definition is {*} which mark as comment to rest of file. Good definition would be {[^}]*} Complexity of problem increases when comment ends with string len >1, for example C: */ or Pascal *) if we renaming : /->a *->b other->c then bad definition will ab(a|b|b)*ba and good definition is complicated: ab(b|(a|c)*b*)*a (if I not make mistake) Commments should maybe be defined in other way, especially comments can be nested in Object Pascal. Comment nesting can using stack or simply counter. I see, in Pascal is using counter. Difference: Pascal has two types of multiline comments { } and (* *) If we use stack, closing comment type must be equal last open comment type, for counter - only count comments of type first opening, example { { (* } *) }