2020/06/21

2020/06/21

  • hoge->nextใซๅ€คๆ‘˜ใ‚“ใงใใ‚Œใชใ„ๅ•้กŒ
    • generate_stubใฎ527่กŒ็›ฎใใ‚‰ใ„ใŒๅ•้กŒใใ†
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
            } elsif (/^(.*)goto (\w+)\-\>(\w+)\((.*)\);/) {
                # handling goto statement
                # convert it to the meta call form with two arugments, that is context and enum Code
                my $prev = $1;
                my $next = $2;
                my $method = $3;
                my $tmpArgs = $4;
                #$tmpArgs =~ s/\(.*\)/\(\)/;
                my @args = split(/,/,$tmpArgs);
                if (! defined $dataGearVarType{$codeGearName}) {
                   print $fd $_ ;
                   next ;
                }
                my @types = @{$dataGearVarType{$codeGearName}};
                my $ntype;
                my $ftype;
                for my $v (@{$dataGearVar{$codeGearName}}) {
                    my $t = shift @types;
                    if ($v eq $next || $v eq "O_$next") {
                        $ntype = $t;
                        $ftype = lcfirst($ntype);
                    }
                }
  • ใ“ใ“ใง%codeใฎไธญ่บซใ‹ใ‚‰ๆฌกใฎCodeGearใ‚’ๅ–ใ‚Šๅ‡บใ™ใชใฉใฎๅ‡ฆ็†ใŒใ‚ใ‚‹
    • ใชใ‚“ใ‹ใƒ‡ใƒใƒƒใ‚ฌใงdumpใ—ใŸใ‚‰ๆ˜Žใ‚‰ใ‹ใซใŠใ‹ใ—ใ„็ตๆžœใซ…
    • ใ“ใ“ใŒ้–ขไฟ‚ใ—ใฆใ„ใใ†
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  DB<11> p %code
{
    ''            {},
    Lexer         {},
    'Lexer '      {
        eat_whitespace   [
            [0] "Impl* lexer",
            [1] "char* ch",
            [2] "__code next"
        ],
        next             [],
        next_token       [
            [0] "Impl* lexer",
            [1] "__code next"
        ],
        printtest        [
            [0] "Impl* lexer",
            [1] "__code next"
        ],
        read_char        [
            [0] "Impl* lexer",
            [1] "char* ch",
            [2] "__code next"
        ]
    },
    TaskManager   {
        decrementTaskCount   [
            [0] "Impl* taskManagerImpl",
            [1] "__code next"
        ],
        incrementTaskCount   [
            [0] "Impl* taskManagerImpl",
            [1] "__code next"
        ],
        next                 [],
        next1                [],
        setWaitTask          [
            [0] "Impl* taskManagerImpl",
            [1] "Context* task",
            [2] "__code next"
        ],
        shutdown             [
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy