c/extern.h

c/extern.h

  • __codeのexternが並んでいるやつ

    • gccの場合のプロトタイプ宣言避け
    • ここはgenricsの<>が埋め込まれてしまうので更新する必要がある
      • .c自体を書き換えてしまえばいらない説
  • enum関係

    • あんま関係ない
 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
43
[
    [0] {
        name             "AtomicT",
        typed_variable   [
            [0] {
                type    "T",
                vname   "newData"
            },
            [1] {
                type    "T",
                vname   "init"
            }
        ]
    },
    [1] {
        name             "AtomicT",
        typed_variable   [
            [0] {
                type    "T",
                vname   "atomic"
            },
            [1] {
                type    "T",
                vname   "init"
            }
        ]
    },
    [2] {
        generics   [
            [0] {
                generics   "int",
                type       "AtomicT",
                vname      "Leftfork"
            },
            [1] {
                generics   "int",
                type       "AtomicT",
                vname      "Rightfork"
            }
        ],
        name       "Phils"
    }
]
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
use strict;
use warnings;

my $line = 'AtomicT<int> fork0 = setAtomicT(int)';


 if ($line =~ /^\s*(\w+)<(.+)>\*?\s*(\w+)\s*=\s*(.+)\(?/) {
   my $interface = $1;
   my $generics  = $2;
   my $method    = $3;

   print "interface $interface\n";
   print "generics $generics\n";
 }
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy