◀一般トップへ
  • 5345 関数一覧
    • 5346 RE: 関数一覧
      • 5347 Re2: 関数一覧
        • 5348 Re3: 関数一覧
        • 5349 Re3: 関数一覧
  • [5345] 関数一覧 GuiYM 2006年07月15日 16:13

    関数一覧ってどんなロジックで検出してるんですか?
    • [5346] RE: 関数一覧 げんた 2006年07月15日 22:17

      >関数一覧ってどんなロジックで検出してるんですか?
      言語により異なります.
      それぞれ専用の関数で,先頭からスキャンして探してます.
      • [5347] Re2: 関数一覧 GuiYM 2006年07月15日 22:40

        C言語ですけど、教えていただけませんか?
        • [5348] Re3: 関数一覧 げんた 2006年07月16日 06:32

          >C言語ですけど、教えていただけませんか?
          じゃ,続きは開発掲示板 >>dev:4522 で
        • [5349] Re3: 関数一覧 (全略) 2006年07月17日 02:08

          ▼ GuiYMさん
          > C言語ですけど、教えていただけませんか?
          あまりこのエディタの構文解析は一般的じゃないのでよみづらいかも^^;
          yaccとlexとか言うツールを使ってやると楽です。

          C言語だと普通関数はこのような感じででてきますけど
          unsigned int hoge ( ... ) { ... }

          並び順で書くと

          文字 文字 文字 括弧開き [いろいろ] 括弧閉じ ブラケット開き [いろいろ] ブラケット閉じ

          こういう並びの時は関数になるわけです。
          そして括弧開きの直前が関数名になります。
          (もちろん他にもっと考慮する事はあるんですが)

          yaccと言うツールはこの「指定の並びの文字がでてきたら処理する」みたいなことをします。

          # サクラエディタはこのへん自力でやってます、すごいです^^;