/* Peggy CREC Keyword File * $Id: ac_firstmap.kwd,v 1.1 2006/03/19 12:29:35 nzawa Exp nzawa $ * -------------------------------------------------------------------------- * * [言語] * Peggy Pad firstmap.txt * * [説明] * 拡張子の無いファイルの言語を判定する為に Peggy Pad で使われる * firstmap.txt の構文を色分けします。言語IDと正規表現の補完も可能です。 * * [出典] * 補完候補/説明文はPeggy(Pad)に附属する以下の文書から引用しました。 * 1. langlist.pdf * 2. PeggyPad.hlp * * * _/_/_/_/_/_/_/_/_/_/_/_/_/ COPYRIGHT NOTICE _/_/_/_/_/_/_/_/_/_/_/_/_/ * * Copyright (c) 2006 Nzawa (and thanks to Anchor Systems) * * Usage of the works is permitted provided that this instrument * is retained with the works, so that any entity that uses the works * is notified of this instrument. * * DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY. * * [2004, Fair License: rhid.com/fair] * * _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ */ Id: "FirstMap" Title: "Peggy Pad firstmap.txt" BgColoring: On BaseLanguage: "TEXT" // 記号を含むキーワードの説明文を表示するにはコメント解除!(適宜調整して下さい) // IdCharacters: "+-*#/()" Const ODD = 1 Const EVN = SubLang2 // 言語ID補完候補 Context ODD + 1, EVN + 1: { "Z80", FgIdentifier, "Z80 インストラクション" "yacc", FgIdentifier, "yacc" "XML", FgIdentifier, "XML" "VHDL", FgIdentifier, "VHDL" "Verilog-HDL", FgIdentifier, "Verilog-HDL" "Verilo", FgIdentifier, "Verilog-AMS" 'VC++', FgIdentifier, "Microsoft Visual C++" "VBScript", FgIdentifier, "WWW VBScript" "VB", FgIdentifier, "Visual Basic" "V25", FgIdentifier, "NEC V25 インストラクション" "TEXT", FgIdentifier, "テキスト" "ST78K0", FgIdentifier, "NEC ST78K0 構造化アセンブラ" "SRA74", FgIdentifier, "三菱 SRA74 構造化アセンブラ" "SQL/92", FgIdentifier, "SQL/92" "SASMZ80", FgIdentifier, "Z80 SASM アセンブラ" "SA6809", FgIdentifier, "6809 SA6809 アセンブラ" "Ruby", FgIdentifier, "Ruby" "RC", FgIdentifier, "Resource File" "RASM77", FgIdentifier, "三菱 RASM77 アセンブラ" "RA78K0S", FgIdentifier, "NEC RA78K0S アセンブラ" "RA78K0", FgIdentifier, "NEC RA78K0 アセンブラ" "Pro*COBOL", FgIdentifier, "Pro*COBOL" 'Pro*C++', FgIdentifier, "Pro*C++" "Pro*C", FgIdentifier, "Pro*C" "PRE77", FgIdentifier, "三菱 PRE77 構造化アセンブラ" "PL/SQL", FgIdentifier, "PL/SQL" "PIC17", FgIdentifier, "PIC17 インストラクション" "PIC16", FgIdentifier, "PIC16,12 インストラクション" "PHP", FgIdentifier, "WWW PHP" "Perl5", FgIdentifier, "Perl5" "NC79", FgIdentifier, "三菱 NC79 C コンパイラ" "NC77", FgIdentifier, "三菱 NC77 C コンパイラ" "NC308", FgIdentifier, "三菱 NC308 C コンパイラ" "NC30", FgIdentifier, "三菱 NC30 C コンパイラ" "MR79", FgIdentifier, "三菱 NC79 C コンパイラ+MR79 RTOS" "MR77", FgIdentifier, "三菱 NC77 C コンパイラ+MR77 RTOS" "MR308", FgIdentifier, "三菱 NC308 C コンパイラ+MR308 RTOS" "MR30", FgIdentifier, "三菱 NC30 C コンパイラ+MR30 RTOS" "Moca", FgIdentifier, "MocaScript" "MAKE", FgIdentifier, "Makefile" "MAIL", FgIdentifier, "メール" "LaTeX2eNS", FgIdentifier, "LaTeX2eNS" "LaTeX2e", FgIdentifier, "LaTeX2e" "Keyword", FgIdentifier, "Keyword File" "JSP", FgIdentifier, "WWW JavaServer Pages" "JavaScript", FgIdentifier, "WWW JavaScript" "Java", FgIdentifier, "Java" "InstallScript", FgIdentifier, "InstallScript" "HTML40", FgIdentifier, "WWW HTML4.0 (W3C)" "HSP", FgIdentifier, "Hot Soup Processor" "Gen-ASM", FgIdentifier, "General アセンブラ (その他アセンブラ)" "GAWK", FgIdentifier, "GNU AWK" "DELPHI", FgIdentifier, "Delphi" "CSS", FgIdentifier, "WWW Cascade Style Sheet" "COBOL", FgIdentifier, "COBOL" "CL870C", FgIdentifier, "東芝 CL870X C-Like コンパイラ" "CL870", FgIdentifier, "東芝 CL870 C-Like コンパイラ" "CC900", FgIdentifier, "東芝 C コンパイラ (CC900)" "CC870", FgIdentifier, "東芝 C コンパイラ (CC870,870X,870C)" "CC78K0S", FgIdentifier, "NEC C コンパイラ (CC78K0S)" "CC78K0", FgIdentifier, "NEC C コンパイラ (CC78K0)" 'C++', FgIdentifier, "C++" 'C#', FgIdentifier, "Microsoft C#" "C", FgIdentifier, "C" 'BCC++', FgIdentifier, "Borland C++" "Batch", FgIdentifier, "DOS Batch" 'ASP(VBS)', FgIdentifier, "WWW Active Server Pages (VBScript)" 'ASP(PHP)', FgIdentifier, "WWW Active Server Pages (PHP)" 'ASP(JS)', FgIdentifier, "WWW Active Server Pages (JavaScript)" "ASM96", FgIdentifier, "富士通 ASM96 FMC-8L アセンブラ" "ASM900", FgIdentifier, "東芝 ASM900 アセンブラ" "ASM870X", FgIdentifier, "東芝 ASM870X アセンブラ" "ASM870C", FgIdentifier, "東芝 ASM870C アセンブラ" "ASM870", FgIdentifier, "東芝 ASM870 アセンブラ" "ASM72", FgIdentifier, "三菱 ASM72 アセンブラ" "ASM45", FgIdentifier, "三菱 ASM45(AS4) アセンブラ" "ASM38", FgIdentifier, "日立 ASM38 アセンブラ" "AS79S", FgIdentifier, "三菱 AS79 構造化アセンブラ" "AS79", FgIdentifier, "三菱 AS79 アセンブラ" "AS30S", FgIdentifier, "三菱 AS30 構造化アセンブラ" "AS308S", FgIdentifier, "三菱 AS308 構造化アセンブラ" "AS308", FgIdentifier, "三菱 AS308 アセンブラ" "AS30", FgIdentifier, "三菱 AS30 アセンブラ" "APP870X", FgIdentifier, "東芝 ASM870X アセンブラ+TUAPP プリプロ" "APP870C", FgIdentifier, "東芝 ASM870C アセンブラ+TUAPP プリプロ" "APP870", FgIdentifier, "東芝 ASM870 アセンブラ+TUAPP プリプロ" "AASM740", FgIdentifier, "アンカー AASM740 マクロアセンブラ" "8086", FgIdentifier, "8086 インストラクション" "68HC11", FgIdentifier, "68HC11 インストラクション" "6809", FgIdentifier, "6809 インストラクション" "68000", FgIdentifier, "68000 インストラクション" } // 正規表現補完候補 Context ODD + 2, EVN + 2: { '.', FgRegularExpression, "任意の1文字" '[:alnum:]', FgRegularExpression, "アルファベットと数字" '[:alpha:]', FgRegularExpression, "アルファベット" '[:ascii:]', FgRegularExpression, "USASII文字セット" '[:blank:]', FgRegularExpression, "ブランク文字(タブとスペース)" '[:cntrl:]', FgRegularExpression, "コントロール文字" '[:digit:]', FgRegularExpression, "数字" '[:graph:]', FgRegularExpression, "グラフ(形のある文字)" '[:lower:]', FgRegularExpression, "小文字のアルファベット" '[:print:]', FgRegularExpression, "印刷可能文字" '[:punct:]', FgRegularExpression, "記号/区切り文字" '[:space:]', FgRegularExpression, "空白文字" '[:upper:]', FgRegularExpression, "大文字のアルファベット" '[:xdigit:]', FgRegularExpression, "16進文字" '[:^alnum:]', FgRegularExpression, "アルファベットと数字以外" '[:^alpha:]', FgRegularExpression, "アルファベット以外" '[:^ascii:]', FgRegularExpression, "USASII文字セット以外" '[:^blank:]', FgRegularExpression, "ブランク文字(タブとスペース)以外" '[:^cntrl:]', FgRegularExpression, "コントロール文字以外" '[:^digit:]', FgRegularExpression, "数字以外" '[:^graph:]', FgRegularExpression, "グラフ(形のある文字)以外" '[:^lower:]', FgRegularExpression, "小文字のアルファベット以外" '[:^print:]', FgRegularExpression, "印刷不可能文字" '[:^punct:]', FgRegularExpression, "記号/区切り文字以外" '[:^space:]', FgRegularExpression, "空白文字以外" '[:^upper:]', FgRegularExpression, "大文字のアルファベット以外" '[:^xdigit:]', FgRegularExpression, "16進文字以外" '[:zenkaku:]', FgRegularExpression, "全角文字" '[:kanji:]', FgRegularExpression, "全角漢字" '[:hirakana:]', FgRegularExpression, "全角ひらかな" '[:katakana:]', FgRegularExpression, "全角カタカナ" '[:hankakukana:]', FgRegularExpression, "半角カタカナ" '[:^zenkaku:]', FgRegularExpression, "全角文字以外" '[:^kanji:]', FgRegularExpression, "全角漢字以外" '[:^hirakana:]', FgRegularExpression, "全角ひらかな以外" '[:^katakana:]', FgRegularExpression, "全角カタカナ以外" '[:^hankakukana:]', FgRegularExpression, "半角カタカナ以外" '[]', FgRegularExpression, "[]の中で指定した文字、または範囲内の文字" '[^]', FgRegularExpression, "[]の中で指定した文字以外、または範囲外の文字" '()', FgRegularExpression, "()の中で指定した文字列をグループ化" '|', FgRegularExpression, "パターンをOR条件で選択" '^', FgRegularExpression, "行頭" '$', FgRegularExpression, "行末" '*', FgRegularExpression, "0回以上の繰り返し(最長一致)" '*?', FgRegularExpression, "0回以上の繰り返し(最短一致)" '+', FgRegularExpression, "1回以上の繰り返し(最長一致)" '+?', FgRegularExpression, "1回以上の繰り返し(最短一致)" '?', FgRegularExpression, "0回か1回パターンが現れる(最長一致)" '??', FgRegularExpression, "0回か1回パターンが現れる(最短一致)" '{m}', FgRegularExpression, "ちょうどm回の繰り返し" '{m,n}', FgRegularExpression, "m回以上n回以下の繰り返し(最長一致)" '{m,n}?', FgRegularExpression, "m回以上n回以下の繰り返し(最短一致)" '\\b', FgRegularExpression, "単語境界(\\wと\\Wの境界)" '\\B', FgRegularExpression, "単語境界以外" '\\<', FgRegularExpression, "単語の先頭" '\\>', FgRegularExpression, "単語の終り" '(?=subpattern)', FgRegularExpression, "サブパターンにマッチする境界(肯定の先読み)" '(?!subpattern)', FgRegularExpression, "サブパターンにマッチしない境界(否定の先読み)" '\\w', FgRegularExpression, "英単語1文字" '\\W', FgRegularExpression, "英単語1文字以外" '\\d', FgRegularExpression, "半角数字1文字" '\\D', FgRegularExpression, "半角数字以外の1文字" '\\s', FgRegularExpression, "空白文字1文字" '\\S', FgRegularExpression, "空白文字以外の一文字" '\\z', FgRegularExpression, "全角文字1文字" '\\Z', FgRegularExpression, "全角以外の1文字" '\\h', FgRegularExpression, "全角ひらがな1文字" '\\H', FgRegularExpression, "全角ひらがな以外の1文字" '\\j', FgRegularExpression, "全角カタカナ1文字" '\\J', FgRegularExpression, "全角カタカナ以外の1文字" '\\y', FgRegularExpression, "半角カタカナ1文字" '\\Y', FgRegularExpression, "半角カタカナ以外の1文字" '\\i', FgRegularExpression, "C/C++/Javaなどの言語の識別子" '\\l', FgRegularExpression, "アセンブラなどのラベル" '\\q', FgRegularExpression, "C/C++/Javaなどの言語の二重引用符で囲まれた文字列" } // 奇数行(ここからスタート!) Context ODD: { /\s*"/, FgString, GoTo +1, @"\"\c\"" /$/, PostGoTo EVN } // 奇数行(言語ID) Context ODD + 1: { /[^"]+/, FgIdentifier '"', FgString, @off, GoTo +1 /$/, PostGoTo EVN default, FgIdentifier } // 奇数行(正規表現) Context ODD + 2: { /$/, PostGoTo EVN default, FgRegularExpression } // 偶数行 Context EVN: { /\s*"/, FgString, GoTo +1, @"\"\c\"" /$/, PostGoTo ODD } // 偶数行(言語ID) Context EVN + 1: { /[^"]+/, FgIdentifier '"', FgString, @off, GoTo +1 /$/, PostGoTo ODD default, FgIdentifier } // 偶数行(正規表現) Context EVN + 2: { /$/, PostGoTo ODD default, FgRegularExpression } /* -------------------------- END OF CREC KEYWORD -------------------------- */