Re: Regular expression string searching & matching

Clint O <clint.olsen@gmail.com>
Sun, 18 Mar 2018 19:23:22 GMT

          From comp.compilers

Related articles
[7 earlier articles]
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-12)
Re: Regular expression string searching & matching jamin.hanson@googlemail.com (Ben Hanson) (2018-03-12)
Re: Regular expression string searching & matching DrDiettrich1@netscape.net (Hans-Peter Diettrich) (2018-03-13)
Re: Regular expression string searching & matching jamin.hanson@googlemail.com (Ben Hanson) (2018-03-13)
Re: Regular expression string searching & matching jamin.hanson@googlemail.com (Ben Hanson) (2018-03-13)
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-17)
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-18)
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-20)
Re: Regular expression string searching & matching clint.olsen@gmail.com (Clint O) (2018-03-22)
| List of all articles for this month |
From: Clint O <clint.olsen@gmail.com>
Newsgroups: comp.compilers
Date: Sun, 18 Mar 2018 19:23:22 GMT
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
References: 18-03-016 18-03-032 18-03-034 18-03-035 18-03-041 18-03-045 18-03-054
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="60502"; mail-complaints-to="abuse@iecc.com"
Keywords: lex, DFA
Posted-Date: 19 Mar 2018 07:11:13 EDT

On 2018-03-13, Ben Hanson <jamin.hanson@googlemail.com> wrote:
> I'd be interested to see your DFA output once you've cleaned it up a bit.
> Using derivatives is interesting too - I've seen it discussed but never tried
> to get into that.


Let's try this again:


<RegexConcat [13]=0x10b32f2b0 0x10b322cf8 0x10b322a58 'B7'>
+---<RegexConcat [11]=0x10b322cf8 0x10b32f198 0x10b322b00 'B7'>
| +---<RegexConcat [10]=0x10b32f198 0x10b322978 0x10b322d68 'B7'>
| | +---<RegexConcat [2]=0x10b322978 0x10b322a58 0x10b322b70 'B7'>
| | | +---<RegexSym [0]=0x10b322a58 '/'>
| | | `---<RegexSym [1]=0x10b322b70 '*'>
| | `---<RegexStar [9]=0x10b322d68 0x10b322f98 '*'>
| | `---<RegexOr [8]=0x10b322f98 0x10b322dd8 0x10b322e80 '|'>
| | +---<RegexSym [4]=0x10b322dd8 '^*'>
| | `---<RegexConcat [7]=0x10b322e80 0x10b322b00 0x10b32f048 'B7'>
| | +---<RegexPlus [5]=0x10b322b00 0x10b322b70 '+'>
| | | `---<RegexSym [1]=0x10b322b70 '*'>
| | `---<RegexSym [6]=0x10b32f048 '^/'>
| `---<RegexPlus [5]=0x10b322b00 0x10b322b70 '+'>
| `---<RegexSym [1]=0x10b322b70 '*'>
`---<RegexSym [0]=0x10b322a58 '/'>


q0: /B7[*]B7([^*] | [*]+B7[^/])*B7[*]+B7/
        [/] q2
        ['\x00'-.0-C?] q1
q1: b
        ['\x00'-C?] q1
q2: [*]B7([^*] | [*]+B7[^/])*B7[*]+B7/
        [*] q3
        ['\x00'-)+-C?] q1
q3: ([^*] | [*]+B7[^/])*B7[*]+B7/
        [*] q4
        ['\x00'-)+-C?] q3
q4: ([*]*B7[^/]B7([^*] | [*]+B7[^/])*B7[*]+ | [*]*)B7/
        [*] q6
        ['\x00'-)+-.0-C?] q3
        [/] q5
q5: N5
        ['\x00'-C?] q1
q6: (([*]*B7[^/] | N5)B7([^*] | [*]+B7[^/])*B7[*]+ | [*]*)B7/
        [*] q8
        ['\x00'-)+-.0-C?] q3
        [/] q7
q7: ([^*] | [*]+B7[^/])*B7[*]+B7/ | N5
        [*] q4
        ['\x00'-)+-C?] q3
q8: ((([*]*B7[^/] | N5)B7([^*] | [*]+B7[^/])* | [*]*B7[^/]B7([^*] | [*]+B7[^/])*)B7[*]+ | [*]*)B7/
        [*] q8
        ['\x00'-)+-.0-C?] q3
        [/] q7
Total DFA states: 9
Total RE instances: 35


So, q5, q7 are accepting states because they contain epsilon (empty string).


Thanks,


-Clint



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.