Blame view

assets/plugins/google-code-prettify/lang-pascal.js 1.54 KB
cf76164e6   Ting Chan   20190709
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  // Contributed by peter dot kofler at code minus cop dot org
  
  /**
   * @fileoverview
   * Registers a language handler for (Turbo) Pascal.
   *
   * To use, include prettify.js and this file in your HTML page.
   * Then put your code in an HTML tag like
   *      <pre class="prettyprint lang-pascal">(my Pascal code)</pre>
   *
   * @author peter dot kofler at code minus cop dot org
   */
  
  PR.registerLangHandler(
      PR.createSimpleLexer(
          [ // shortcutStylePatterns
            // 'single-line-string'
            [PR.PR_STRING,        /^(?:\'(?:[^\\\'\r
  ]|\\.)*(?:\'|$))/, null, '\''],
            // Whitespace
            [PR.PR_PLAIN,         /^\s+/, null, ' \r
  \t\xA0']
          ],
          [ // fallthroughStylePatterns
            // A cStyleComments comment (* *) or {}
            [PR.PR_COMMENT,       /^\(\*[\s\S]*?(?:\*\)|$)|^\{[\s\S]*?(?:\}|$)/, null],
            [PR.PR_KEYWORD,       /^(?:ABSOLUTE|AND|ARRAY|ASM|ASSEMBLER|BEGIN|CASE|CONST|CONSTRUCTOR|DESTRUCTOR|DIV|DO|DOWNTO|ELSE|END|EXTERNAL|FOR|FORWARD|FUNCTION|GOTO|IF|IMPLEMENTATION|IN|INLINE|INTERFACE|INTERRUPT|LABEL|MOD|NOT|OBJECT|OF|OR|PACKED|PROCEDURE|PROGRAM|RECORD|REPEAT|SET|SHL|SHR|THEN|TO|TYPE|UNIT|UNTIL|USES|VAR|VIRTUAL|WHILE|WITH|XOR)\b/i, null],
            [PR.PR_LITERAL,       /^(?:true|false|self|nil)/i, null],
            [PR.PR_PLAIN,         /^[a-z][a-z0-9]*/i, null],
            // Literals .0, 0, 0.0 0E13
            [PR.PR_LITERAL,       /^(?:\$[a-f0-9]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+\-]?\d+)?)/i,  null, '0123456789'],
            [PR.PR_PUNCTUATION,   /^.[^\s\w\.$@\'\/]*/, null]
          ]),
      ['pascal']);