テキスト処理言語における文字列のための正規表現型 Regular Expression Types for Strings in a Text Processing Language

この論文にアクセスする

この論文をさがす

著者

    • 田渕 直 TABUCHI NAOSHI
    • 東京大学情報理工学系研究科コンピュータ科学専攻 Department of Computer Science, Graduate School of Information Science and Technology, The University of Tokyo
    • 住井英二郎 SUMII EIJIRO
    • 東京大学情報理工学系研究科コンピュータ科学専攻 Department of Computer Science, Graduate School of Information Science and Technology, The University of Tokyo
    • 米澤 明憲 YONEZAWA AKINORI
    • 東京大学情報理工学系研究科コンピュータ科学専攻 Department of Computer Science, Graduate School of Information Science and Technology, The University of Tokyo

抄録

Perl ,Ruby ,Python などに代表されるスクリプト言語は,CGI のような文字列操作が中心となるアプリケーションの開発に広く使用されており,また開発効率を高めるために有用であることが経験的に知られている.しかしながら,これらの言語はその柔軟すぎる記述力のため,プログラムの挙動が実際の実行時まで分からないことが多く,デバッグ・保守が困難になりがちであるという問題をかかえている.一方,プログラムの性質を静的に検証するという目的では,型システムを利用することが有効であるが,Java ・ML など既存の言語の型システムは,スクリプト言語のプログラミングスタイルと必ずしも相性が良くないという問題がある.本研究では,これらのスクリプト言語のプログラミングスタイルとして,「正規表現を用いた文字列操作」が多用されるという点に着目し,正規表現を一種の「型」と見なして文字列に対する型付けを行う型システムを提案する.我々の手法は,文字列の内容や,文字列操作の結果を静的に検査し,プログラムの信頼性を向上させることができる.また,正規表現を用いることにより,古典的な型システムでは達成できない記述力と柔軟性を得ることができる.Scripting language such as Perl,Ruby,Python,etc.are now widely used in developing string-manipulating software including CGIs.Although they are known to be useful for rapid application development,their excessive flexibility often makes it difficult to debug and maintain programs.On the other hand,type systems are known to be a good tool for static veri fication of programs.However,existing type systems as in Java,ML,etc.are not necessarily compatible with scripting languages.To overcome this problem,we propose a new type system in which "types "consist of regular expressions,observing that an important feature of these scripting languages is to manipulate string values by means of regular expressions. Our method enables programmers to statically verify string values and operations on them, and thereby improve reliability of software.Using regular expressions,our approach achieves higher degree of expressiveness and flexibility than traditional type systems.

Scripting language such as Perl, Ruby, Python, etc. are now widely used in developing string-manipulating software including CGIs. Although they are known to be useful for rapid application development, their excessive flexibility often makes it difficult to debug and maintain programs. On the other hand, type systems are known to be a good tool for static verification of programs. However, existing type systems as in Java, ML, etc. are not necessarily compatible with scripting languages. To overcome this problem, we propose a new type system in which "types" consist of regular expressions, observing that an important feature of these scripting languages is to manipulate string values by means of regular expressions. Our method enables programmers to statically verify string values and operations on them, and thereby improve reliability of software. Using regular expressions, our approach achieves higher degree of expressiveness and flexibility than traditional type systems.

収録刊行物

  • 情報処理学会論文誌プログラミング(PRO)

    情報処理学会論文誌プログラミング(PRO) 44(SIG02(PRO16)), 1-12, 2003-02-15

    一般社団法人情報処理学会

参考文献:  14件中 1-14件 を表示

各種コード

  • NII論文ID(NAID)
    110002772181
  • NII書誌ID(NCID)
    AA11464814
  • 本文言語コード
    JPN
  • 資料種別
    Article
  • ISSN
    1882-7802
  • NDL 記事登録ID
    6483430
  • NDL 請求記号
    Z74-C192
  • データ提供元
    CJP書誌  NDL  NII-ELS  IPSJ 
ページトップへ