adlint 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AUTHORS +3 -2
 - data/ChangeLog +208 -63
 - data/MANIFEST +4 -0
 - data/NEWS +24 -5
 - data/etc/conf.d/fallback/traits.erb +1 -1
 - data/etc/conf.d/i686-cygwin/traits-gcc_4.3.4.erb +1 -1
 - data/etc/conf.d/i686-devkit/traits-gcc_4.5.2.erb +1 -1
 - data/etc/conf.d/i686-linux/traits-gcc_4.5.1.erb +1 -1
 - data/etc/conf.d/i686-mingw/traits-gcc_4.6.1.erb +1 -1
 - data/etc/mesg.d/en_US/messages.yml +3 -3
 - data/etc/mesg.d/ja_JP/messages.yml +4 -4
 - data/lib/adlint/c/builtin.rb +3 -3
 - data/lib/adlint/c/ctrlexpr.rb +7 -11
 - data/lib/adlint/c/expr.rb +548 -363
 - data/lib/adlint/c/interp.rb +233 -525
 - data/lib/adlint/c/mediator.rb +1 -0
 - data/lib/adlint/c/message.rb +144 -1
 - data/lib/adlint/c/object.rb +15 -6
 - data/lib/adlint/c/parser.rb +170 -128
 - data/lib/adlint/c/parser.y +36 -0
 - data/lib/adlint/c/phase.rb +4 -0
 - data/lib/adlint/c/seqp.rb +72 -0
 - data/lib/adlint/c/syntax.rb +254 -3
 - data/lib/adlint/c.rb +1 -0
 - data/lib/adlint/cpp/code.rb +2 -2
 - data/lib/adlint/cpp/eval.rb +29 -13
 - data/lib/adlint/cpp/message.rb +71 -70
 - data/lib/adlint/cpp/message_shima.rb +100 -0
 - data/lib/adlint/cpp/phase.rb +4 -0
 - data/lib/adlint/cpp/syntax.rb +5 -1
 - data/lib/adlint/cpp.rb +1 -0
 - data/lib/adlint/message.rb +6 -3
 - data/lib/adlint/traits.rb +1 -1
 - data/lib/adlint/version.rb +5 -5
 - data/share/demo/Makefile +3 -1
 - data/share/demo/bad_line/bad_line.c +27 -0
 - data/share/demo/sequence_point/sequence_point.c +31 -0
 - data/share/doc/adlint_on_vim_en.png +0 -0
 - data/share/doc/adlint_on_vim_ja.png +0 -0
 - data/share/doc/developers_guide_ja.html +3 -3
 - data/share/doc/developers_guide_ja.texi +1 -1
 - data/share/doc/users_guide_en.html +3118 -41
 - data/share/doc/users_guide_en.texi +3090 -37
 - data/share/doc/users_guide_ja.html +3120 -47
 - data/share/doc/users_guide_ja.texi +3106 -65
 - data/share/sample/ctags-5.8/adlint/GNUmakefile +13 -1
 - data/share/sample/ctags-5.8/adlint/adlint_cinit.h +14 -2
 - data/share/sample/ctags-5.8/adlint/adlint_pinit.h +14 -4
 - data/share/sample/ctags-5.8/adlint/adlint_traits.yml +14 -1
 - data/share/sample/flex-2.5.35/adlint/GNUmakefile +13 -1
 - data/share/sample/flex-2.5.35/adlint/adlint_cinit.h +14 -2
 - data/share/sample/flex-2.5.35/adlint/adlint_pinit.h +14 -4
 - data/share/sample/flex-2.5.35/adlint/adlint_traits.yml +14 -1
 - metadata +6 -2
 
| 
         @@ -0,0 +1,27 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #line
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            #line 35000 "bad_line.c"
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            #line 35 * 100
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            #line 35 * 100 "bad_line.c"
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            #line 35 L"あいう.c"
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            #line __LINE__ __FILE__
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            #define THIS_FILE __FILE__
         
     | 
| 
      
 14 
     | 
    
         
            +
            #define LINE 35
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            #line LINE THIS_FILE
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            #undef LINE
         
     | 
| 
      
 19 
     | 
    
         
            +
            #define LINE 35000
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            #line LINE THIS_FILE
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            #line __FILE__ 35
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            #line LINE1000
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            #pragma
         
     | 
| 
         @@ -0,0 +1,31 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            extern int bar(int *p);
         
     | 
| 
      
 2 
     | 
    
         
            +
            extern int baz(const int *p);
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            void foo(int a, int b, int *c)
         
     | 
| 
      
 5 
     | 
    
         
            +
            {
         
     | 
| 
      
 6 
     | 
    
         
            +
                {
         
     | 
| 
      
 7 
     | 
    
         
            +
                    a = b * a++;
         
     | 
| 
      
 8 
     | 
    
         
            +
                    a = bar(&a) * a++;
         
     | 
| 
      
 9 
     | 
    
         
            +
                    b = bar(&a) * (a++ + --a);
         
     | 
| 
      
 10 
     | 
    
         
            +
                }
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                {
         
     | 
| 
      
 13 
     | 
    
         
            +
                    b = bar(&a) * a++;
         
     | 
| 
      
 14 
     | 
    
         
            +
                    b = bar(&a) + baz(&a);
         
     | 
| 
      
 15 
     | 
    
         
            +
                    b = baz(&a) - baz(&a);
         
     | 
| 
      
 16 
     | 
    
         
            +
                }
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                {
         
     | 
| 
      
 19 
     | 
    
         
            +
                    b = (a + 1) + a++;
         
     | 
| 
      
 20 
     | 
    
         
            +
                    b = c[a] + c[++a];
         
     | 
| 
      
 21 
     | 
    
         
            +
                    foo(a, a++, c);
         
     | 
| 
      
 22 
     | 
    
         
            +
                    foo(a++, a, c);
         
     | 
| 
      
 23 
     | 
    
         
            +
                    a = a + b;
         
     | 
| 
      
 24 
     | 
    
         
            +
                    c[a] = a++ + b;
         
     | 
| 
      
 25 
     | 
    
         
            +
                }
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                {
         
     | 
| 
      
 28 
     | 
    
         
            +
                    b = bar(&a) * a;
         
     | 
| 
      
 29 
     | 
    
         
            +
                    b = baz(&a) * a;
         
     | 
| 
      
 30 
     | 
    
         
            +
                }
         
     | 
| 
      
 31 
     | 
    
         
            +
            }
         
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         @@ -1,8 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <html lang="ja">
         
     | 
| 
       2 
2 
     | 
    
         
             
            <head>
         
     | 
| 
       3 
     | 
    
         
            -
            <title>AdLint 1. 
     | 
| 
      
 3 
     | 
    
         
            +
            <title>AdLint 1.2.0 開発者ガイド</title>
         
     | 
| 
       4 
4 
     | 
    
         
             
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
         
     | 
| 
       5 
     | 
    
         
            -
            <meta name="description" content="AdLint 1. 
     | 
| 
      
 5 
     | 
    
         
            +
            <meta name="description" content="AdLint 1.2.0 開発者ガイド">
         
     | 
| 
       6 
6 
     | 
    
         
             
            <meta name="generator" content="makeinfo 4.13">
         
     | 
| 
       7 
7 
     | 
    
         
             
            <link title="Top" rel="top" href="#Top">
         
     | 
| 
       8 
8 
     | 
    
         
             
            <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
         
     | 
| 
         @@ -44,7 +44,7 @@ td { border: 1px solid black; } 
     | 
|
| 
       44 
44 
     | 
    
         
             
            --></style>
         
     | 
| 
       45 
45 
     | 
    
         
             
            </head>
         
     | 
| 
       46 
46 
     | 
    
         
             
            <body>
         
     | 
| 
       47 
     | 
    
         
            -
            <h1 class="settitle">AdLint 1. 
     | 
| 
      
 47 
     | 
    
         
            +
            <h1 class="settitle">AdLint 1.2.0 開発者ガイド</h1>
         
     | 
| 
       48 
48 
     | 
    
         
             
            <div class="contents">
         
     | 
| 
       49 
49 
     | 
    
         
             
            <h2>Table of Contents</h2>
         
     | 
| 
       50 
50 
     | 
    
         
             
            <ul>
         
     |