products/Sources/formale Sprachen/Delphi/Bille 0.71/__history image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: haskell.xml   Sprache: Unknown

<?xml version="1.0"?>

<!DOCTYPE MODE SYSTEM "xmode.dtd">

<!--
Haskell mode by Stephen Blackheath
-->


<MODE>

 <PROPS>
  <PROPERTY NAME="commentStart" VALUE="{-" />
  <PROPERTY NAME="commentEnd" VALUE="-}" />
  <PROPERTY NAME="lineComment" VALUE="--" />
 </PROPS>

 <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE">
  <!-- Pragmas. -->
  <SPAN TYPE="COMMENT2">
   <BEGIN>{-#</BEGIN>
   <END>#-}</END>
  </SPAN>

  <SPAN TYPE="COMMENT1">
   <BEGIN>{-</BEGIN>
   <END>-}</END>
  </SPAN>

  <EOL_SPAN TYPE="COMMENT1">--</EOL_SPAN>

  <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
   <BEGIN>"
   <END>"
  </SPAN>

  <SPAN TYPE="LITERAL2" NO_WORD_BREAK="TRUE">
   <BEGIN>'
   <END>'
  </SPAN>

                <!-- Reserved words. -->
                <SEQ_REGEXP TYPE="KEYWORD1">case(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">class(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">data(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">default(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">deriving(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">do(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">else(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">if(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">import(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">in(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">infix(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">infixl(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">infixr(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">instance(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">let(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">module(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">newtype(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">of(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">then(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">type(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">where(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">_(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">as(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">qualified(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">hiding(?![a-z_A-Z0-9'])
                <!-- Non-Haskell-98 keywords -->
                <SEQ_REGEXP TYPE="KEYWORD1">foreign(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">family(?![a-z_A-Z0-9'])
                <!-- GHC extension keywords -->
                <SEQ_REGEXP TYPE="KEYWORD1">proc(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">rec(?![a-z_A-Z0-9'])
                <SEQ_REGEXP TYPE="KEYWORD1">mdo(?![a-z_A-Z0-9'])

                <SEQ_REGEXP TYPE="DIGIT">0[xXoO][0-9a-fA-F]+</SEQ_REGEXP>
                <SEQ_REGEXP TYPE="DIGIT">[0-9]+(\.[0-9]+)?([eE][+-]?[0-9]+)?</SEQ_REGEXP>
                
                <!-- Reserved operators -->
                <SEQ_REGEXP TYPE="KEYWORD4">\.\.(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>
                <SEQ_REGEXP TYPE="KEYWORD4">:(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>
                <SEQ_REGEXP TYPE="KEYWORD4">::(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>
                <SEQ_REGEXP TYPE="KEYWORD4">=(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>
                <SEQ TYPE="KEYWORD4">\</SEQ>
                <SEQ_REGEXP TYPE="KEYWORD4">\|(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>
                <SEQ_REGEXP TYPE="KEYWORD4"><-(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>
                <SEQ_REGEXP TYPE="KEYWORD4">->(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>
                <SEQ_REGEXP TYPE="KEYWORD4">@(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>
                <SEQ_REGEXP TYPE="KEYWORD4">~(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>
                <SEQ_REGEXP TYPE="KEYWORD4">=>(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>

                <!-- GHC extension reserved operators -->
                <SEQ_REGEXP TYPE="KEYWORD4">-(<{1,2})(?![!#$%&\*+\./<=>?@\\\^\|\-~:])</SEQ_REGEXP>

                <!-- Normal operators, backquoted operators -->
                <SEQ_REGEXP TYPE="OPERATOR">([A-Z][a-z_A-Z0-9']*\.)*[!#$%&\*+\./<=>?@\\\^\|\-~][!#$%&\*+\./<=>?@\\\^\|\-~:]*
                <SEQ_REGEXP TYPE="OPERATOR">`([A-Z][a-z_A-Z0-9']*\.)*[a-z_][a-z_A-Z0-9']*`</SEQ_REGEXP>

                <!-- variable/function (qualified or not) -->
                <SEQ_REGEXP TYPE="NULL">([A-Z][a-z_A-Z0-9']*\.)*[a-z_][a-z_A-Z0-9']*</SEQ_REGEXP>
                <!-- contructor/type (qualified or not) -->
                <SEQ_REGEXP TYPE="KEYWORD2">[A-Z][a-z_A-Z0-9']*(\.[A-Z][a-z_A-Z0-9']*)*</SEQ_REGEXP>

                <!-- Operators in parentheses appear like functions, but this
                    doesn't match the special case of (..) used for imports -->

                <SEQ_REGEXP TYPE="NULL">\(\s*([A-Z][a-z_A-Z0-9']*\.)*[!#$%&\*+\./<=>?@\\\^\|\-~]\s*\)
                <SEQ_REGEXP TYPE="NULL">\(\s*([A-Z][a-z_A-Z0-9']*\.)*[!#$%&\*+\./<=>?@\\\^\|\-~][!#$%&\*+/<=>?@\\\^\|\-~:][!#$%&\*+\./<=>?@\\\^\|\-~:]*\s*\)
                <SEQ_REGEXP TYPE="NULL">\(\s*([A-Z][a-z_A-Z0-9']*\.)*[!#$%&\*+/<=>?@\\\^\|\-~][!#$%&\*+\./<=>?@\\\^\|\-~:][!#$%&\*+\./<=>?@\\\^\|\-~:]*\s*\)
                <SEQ_REGEXP TYPE="NULL">\(\s*([A-Z][a-z_A-Z0-9']*\.)*[!#$%&\*+\./<=>?@\\\^\|\-~][!#$%&\*+\./<=>?@\\\^\|\-~:]{2,}\)

                <!-- Infix constructors -->
                <SEQ_REGEXP TYPE="KEYWORD2">([A-Z][a-z_A-Z0-9']*\.)*:[!#$%&\*+\./<=>?@\\\^\|\-~:]*
                <!-- Infix constructors in parentheses -->
                <SEQ_REGEXP TYPE="KEYWORD2">\(\s*([A-Z][a-z_A-Z0-9']*\.)*:[!#$%&\*+\./<=>?@\\\^\|\-~:]*\s*\)

                <!-- (, including the specific case of (..) but excluding all other cases
                    where it's an operator in parentheses -->

                <SEQ_REGEXP TYPE="KEYWORD3">\((?!\s*([!#$%&\*+\./<=>?@\\\^\|\-~]\s*\)|[!#$%&\*+\./<=>?@\\\^\|\-~][!#$%&\*+/<=>?@\\\^\|\-~:][!#$%&\*+\./<=>?@\\\^\|\-~:]*\s*\)|[!#$%&\*+/<=>?@\\\^\|\-~][!#$%&\*+\./<=>?@\\\^\|\-~:][!#$%&\*+\./<=>?@\\\^\|\-~:]*\s*\)|[!#$%&\*+\./<=>?@\\\^\|\-~][!#$%&\*+\./<=>?@\\\^\|\-~:]{2,}\s*\)))</SEQ_REGEXP>
                <SEQ TYPE="KEYWORD3">)</SEQ>
                <SEQ TYPE="KEYWORD3">,</SEQ>
                <SEQ TYPE="KEYWORD3">[</SEQ>
                <SEQ TYPE="KEYWORD3">]</SEQ>
 </RULES>

</MODE>

[ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ]