template-pre/iar-linker-config-mode.el
author Oleksandr Gavenko <gavenkoa@gmail.com>
Wed, 02 Dec 2009 23:45:55 +0200
changeset 206 346d6d346f88
parent 195 e905c8c27321
child 209 9047c4e41e02
permissions -rw-r--r--
Automated merge with file:///E:\srv\hg\dot-emacs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
193
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
;; DO NOT EDIT COMMENT! TAG: iar-linker-config-mode
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
(define-generic-mode iar-linker-config-mode
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
  '("// " ("/*" . "*/"))
194
a00fe2a384f9 adds new match for highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 193
diff changeset
     4
  '("section" "zeroinit" "code" "readwrite" "rw" "readonly" "ro")
193
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
  '(
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
    ("\\(define +symbol\\) +\\([_a-zA-Z]+\\) *= *\\(0x[0-9a-fA-F]+\\);"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
     (2 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
     (3 font-lock-constant-face) )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
    ("\\(define +memory\\) +\\([_a-zA-Z]+\\) +\\(with +size\\) = \\(0x[0-9a-fA-F]+\\|[0-9]+\\)[GMK]?;"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
     (2 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
     (3 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
     (4 font-lock-constant-face) )
194
a00fe2a384f9 adds new match for highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 193
diff changeset
    15
    ("\\(define +region\\) +\\([_a-zA-Z]+\\) *= *\\([_a-zA-Z]+\\):\\[\\(from\\) +\\([_a-zA-Z]+\\) +\\(to\\|size\\) +\\([_a-zA-Z]+\\)\\];"
193
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
     (2 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
     (3 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
     (4 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
     (5 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
     (6 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
     (7 font-lock-variable-name-face) )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
    ("\\(define +block\\) +\\([_a-zA-Z]+\\) +\\(with +alignment\\) *= *[0-9]+, *\\(size\\) *= *\\([_a-zA-Z]+\\).*;"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
     (2 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
     (3 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
     (4 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
     (5 font-lock-variable-name-face) )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
    ("\\(do +not +initialize\\) *{"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
     (1 font-lock-keyword-face) )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
    ("\\(place +in\\) +\\([_a-zA-Z]+\\) *{"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
     (2 font-lock-variable-name-face) )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
    ("\\(place +at +address\\) +\\([_a-zA-Z]+\\):\\([_a-zA-Z]+\\) *{"
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
     (1 font-lock-keyword-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
     (2 font-lock-variable-name-face)
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
     (3 font-lock-variable-name-face) )
194
a00fe2a384f9 adds new match for highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 193
diff changeset
    38
    ("\\(initialize by copy\\) *{"
a00fe2a384f9 adds new match for highlighting in iar-linker-config-mode.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 193
diff changeset
    39
     (1 font-lock-keyword-face) )
193
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
    )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
  (list "\\.\\(icf\\)\\'")
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
  (list
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
   (lambda () (setq comment-start "/* " comment-end " */"))
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
   )
56bfc334d076 iar-linker-config-mode
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
  "Generic mode for iar linker config files.")