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:
- 3507 Bytes
- Properties:
- Property svn:executable is set to *
1 | // Copyright (C) 2008 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 Common Lisp and related languages. |
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-lisp">(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.devincook.com/goldparser/doc/meta-language/grammar-LISP.htm |
34 | * as the basis, but added line comments that start with ; and changed the atom |
35 | * production to disallow unquoted semicolons. |
36 | * |
37 | * "Name" = 'LISP' |
38 | * "Author" = 'John McCarthy' |
39 | * "Version" = 'Minimal' |
40 | * "About" = 'LISP is an abstract language that organizes ALL' |
41 | * | 'data around "lists".' |
42 | * |
43 | * "Start Symbol" = [s-Expression] |
44 | * |
45 | * {Atom Char} = {Printable} - {Whitespace} - [()"\''] |
46 | * |
47 | * Atom = ( {Atom Char} | '\'{Printable} )+ |
48 | * |
49 | * [s-Expression] ::= [Quote] Atom |
50 | * | [Quote] '(' [Series] ')' |
51 | * | [Quote] '(' [s-Expression] '.' [s-Expression] ')' |
52 | * |
53 | * [Series] ::= [s-Expression] [Series] |
54 | * | |
55 | * |
56 | * [Quote] ::= '' !Quote = do not evaluate |
57 | * | |
58 | * |
59 | * |
60 | * I used <a href="http://gigamonkeys.com/book/">Practical Common Lisp</a> as |
61 | * the basis for the reserved word list. |
62 | * |
63 | * |
64 | * @author mikesamuel@gmail.com |
65 | */ |
66 | |
67 | PR.registerLangHandler( |
68 | PR.createSimpleLexer( |
69 | [ |
70 | ['opn', /^\(/, null, '('], |
71 | ['clo', /^\)/, null, ')'], |
72 | // A line comment that starts with ; |
73 | [PR.PR_COMMENT, /^;[^\r\n]*/, null, ';'], |
74 | // Whitespace |
75 | [PR.PR_PLAIN, /^[\t\n\r \xA0]+/, null, '\t\n\r \xA0'], |
76 | // A double quoted, possibly multi-line, string. |
77 | [PR.PR_STRING, /^\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)/, null, '"'] |
78 | ], |
79 | [ |
80 | [PR.PR_KEYWORD, /^(?:block|c[ad]+r|catch|cons|defun|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\b/, null], |
81 | [PR.PR_LITERAL, |
82 | /^[+\-]?(?:0x[0-9a-f]+|\d+\/\d+|(?:\.\d+|\d+(?:\.\d*)?)(?:[ed][+\-]?\d+)?)/i], |
83 | // A single quote possibly followed by a word that optionally ends with |
84 | // = ! or ?. |
85 | [PR.PR_LITERAL, |
86 | /^\'(?:-*(?:\w|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?)?/], |
87 | // A word that optionally ends with = ! or ?. |
88 | [PR.PR_PLAIN, |
89 | /^-*(?:[a-z_]|\\[\x21-\x7e])(?:[\w-]*|\\[\x21-\x7e])[=!?]?/i], |
90 | // A printable non-space non-special character |
91 | [PR.PR_PUNCTUATION, /^[^\w\t\n\r \xA0()\"\\\';]+/] |
92 | ]), |
93 | ['cl', 'el', 'lisp', 'scm']); |