Changesets can be listed by changeset number.
The Git repository is here.
- Revision:
- 297
- Log:
Updated to AWStats 7.0.
- Author:
- rool
- Date:
- Fri Mar 18 13:33:29 +0000 2011
- Size:
- 4619 Bytes
- Properties:
- Property svn:executable is set to *
1 | // Copyright (C) 2009 Google Inc. |
2 | // |
3 | // Licensed under the Apache License, Version 2.0 (the "License"); |
4 | // you may not use this file except in compliance with the License. |
5 | // You may obtain a copy of the License at |
6 | // |
7 | // http://www.apache.org/licenses/LICENSE-2.0 |
8 | // |
9 | // Unless required by applicable law or agreed to in writing, software |
10 | // distributed under the License is distributed on an "AS IS" BASIS, |
11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 | // See the License for the specific language governing permissions and |
13 | // limitations under the License. |
14 | |
15 | |
16 | |
17 | /** |
18 | * @fileoverview |
19 | * Registers a language handler for Haskell. |
20 | * |
21 | * |
22 | * To use, include prettify.js and this file in your HTML page. |
23 | * Then put your code in an HTML tag like |
24 | * <pre class="prettyprint lang-hs">(my lisp code)</pre> |
25 | * The lang-cl class identifies the language as common lisp. |
26 | * This file supports the following language extensions: |
27 | * lang-cl - Common Lisp |
28 | * lang-el - Emacs Lisp |
29 | * lang-lisp - Lisp |
30 | * lang-scm - Scheme |
31 | * |
32 | * |
33 | * I used http://www.informatik.uni-freiburg.de/~thiemann/haskell/haskell98-report-html/syntax-iso.html |
34 | * as the basis, but ignore the way the ncomment production nests since this |
35 | * makes the lexical grammar irregular. It might be possible to support |
36 | * ncomments using the lookbehind filter. |
37 | * |
38 | * |
39 | * @author mikesamuel@gmail.com |
40 | */ |
41 | |
42 | PR.registerLangHandler( |
43 | PR.createSimpleLexer( |
44 | [ |
45 | // Whitespace |
46 | // whitechar -> newline | vertab | space | tab | uniWhite |
47 | // newline -> return linefeed | return | linefeed | formfeed |
48 | [PR.PR_PLAIN, /^[\t\n\x0B\x0C\r ]+/, null, '\t\n\x0B\x0C\r '], |
49 | // Single line double and single-quoted strings. |
50 | // char -> ' (graphic<' | \> | space | escape<\&>) ' |
51 | // string -> " {graphic<" | \> | space | escape | gap}" |
52 | // escape -> \ ( charesc | ascii | decimal | o octal |
53 | // | x hexadecimal ) |
54 | // charesc -> a | b | f | n | r | t | v | \ | " | ' | & |
55 | [PR.PR_STRING, /^\"(?:[^\"\\\n\x0C\r]|\\[\s\S])*(?:\"|$)/, |
56 | null, '"'], |
57 | [PR.PR_STRING, /^\'(?:[^\'\\\n\x0C\r]|\\[^&])\'?/, |
58 | null, "'"], |
59 | // decimal -> digit{digit} |
60 | // octal -> octit{octit} |
61 | // hexadecimal -> hexit{hexit} |
62 | // integer -> decimal |
63 | // | 0o octal | 0O octal |
64 | // | 0x hexadecimal | 0X hexadecimal |
65 | // float -> decimal . decimal [exponent] |
66 | // | decimal exponent |
67 | // exponent -> (e | E) [+ | -] decimal |
68 | [PR.PR_LITERAL, |
69 | /^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+\-]?\d+)?)/i, |
70 | null, '0123456789'] |
71 | ], |
72 | [ |
73 | // Haskell does not have a regular lexical grammar due to the nested |
74 | // ncomment. |
75 | // comment -> dashes [ any<symbol> {any}] newline |
76 | // ncomment -> opencom ANYseq {ncomment ANYseq}closecom |
77 | // dashes -> '--' {'-'} |
78 | // opencom -> '{-' |
79 | // closecom -> '-}' |
80 | [PR.PR_COMMENT, /^(?:(?:--+(?:[^\r\n\x0C]*)?)|(?:\{-(?:[^-]|-+[^-\}])*-\}))/], |
81 | // reservedid -> case | class | data | default | deriving | do |
82 | // | else | if | import | in | infix | infixl | infixr |
83 | // | instance | let | module | newtype | of | then |
84 | // | type | where | _ |
85 | [PR.PR_KEYWORD, /^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^a-zA-Z0-9\']|$)/, null], |
86 | // qvarid -> [ modid . ] varid |
87 | // qconid -> [ modid . ] conid |
88 | // varid -> (small {small | large | digit | ' })<reservedid> |
89 | // conid -> large {small | large | digit | ' } |
90 | // modid -> conid |
91 | // small -> ascSmall | uniSmall | _ |
92 | // ascSmall -> a | b | ... | z |
93 | // uniSmall -> any Unicode lowercase letter |
94 | // large -> ascLarge | uniLarge |
95 | // ascLarge -> A | B | ... | Z |
96 | // uniLarge -> any uppercase or titlecase Unicode letter |
97 | [PR.PR_PLAIN, /^(?:[A-Z][\w\']*\.)*[a-zA-Z][\w\']*/], |
98 | // matches the symbol production |
99 | [PR.PR_PUNCTUATION, /^[^\t\n\x0B\x0C\r a-zA-Z0-9\'\"]+/] |
100 | ]), |
101 | ['hs']); |