eric6/ThirdParty/Pygments/pygments/lexers/esoteric.py

Thu, 14 Jan 2021 18:14:15 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 14 Jan 2021 18:14:15 +0100
changeset 7983
54c5cfbb1e29
parent 7701
25f42e208e08
permissions
-rw-r--r--

Third Party packages
- updated Pygments to 2.7.4

7983
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
1 # -*- coding: utf-8 -*-
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
2 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
3 pygments.lexers.esoteric
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
4 ~~~~~~~~~~~~~~~~~~~~~~~~
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
5
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
6 Lexers for esoteric languages.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
7
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
8 :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
9 :license: BSD, see LICENSE for details.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
10 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
11
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
12 from pygments.lexer import RegexLexer, include, words
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
13 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
14 Number, Punctuation, Error
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
15
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
16 import re
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
17
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
18 __all__ = ['BrainfuckLexer', 'BefungeLexer', 'RedcodeLexer', 'CAmkESLexer',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
19 'CapDLLexer', 'AheuiLexer']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
20
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
21
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
22 class BrainfuckLexer(RegexLexer):
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
23 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
24 Lexer for the esoteric `BrainFuck <http://www.muppetlabs.com/~breadbox/bf/>`_
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
25 language.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
26 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
27
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
28 name = 'Brainfuck'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
29 aliases = ['brainfuck', 'bf']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
30 filenames = ['*.bf', '*.b']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
31 mimetypes = ['application/x-brainfuck']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
32
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
33 tokens = {
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
34 'common': [
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
35 # use different colors for different instruction types
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
36 (r'[.,]+', Name.Tag),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
37 (r'[+-]+', Name.Builtin),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
38 (r'[<>]+', Name.Variable),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
39 (r'[^.,+\-<>\[\]]+', Comment),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
40 ],
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
41 'root': [
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
42 (r'\[', Keyword, 'loop'),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
43 (r'\]', Error),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
44 include('common'),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
45 ],
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
46 'loop': [
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
47 (r'\[', Keyword, '#push'),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
48 (r'\]', Keyword, '#pop'),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
49 include('common'),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
50 ]
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
51 }
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
52
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
53 def analyse_text(text):
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
54 """It's safe to assume that a program which mostly consists of + -
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
55 and < > is brainfuck."""
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
56 plus_minus_count = 0
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
57 greater_less_count = 0
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
58
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
59 range_to_check = max(256, len(text))
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
60
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
61 for c in text[:range_to_check]:
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
62 if c == '+' or c == '-':
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
63 plus_minus_count += 1
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
64 if c == '<' or c == '>':
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
65 greater_less_count += 1
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
66
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
67 if plus_minus_count > (0.25 * range_to_check):
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
68 return 1.0
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
69 if greater_less_count > (0.25 * range_to_check):
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
70 return 1.0
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
71
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
72 result = 0
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
73 if '[-]' in text:
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
74 result += 0.5
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
75
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
76 return result
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
77
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
78
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
79 class BefungeLexer(RegexLexer):
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
80 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
81 Lexer for the esoteric `Befunge <http://en.wikipedia.org/wiki/Befunge>`_
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
82 language.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
83
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
84 .. versionadded:: 0.7
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
85 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
86 name = 'Befunge'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
87 aliases = ['befunge']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
88 filenames = ['*.befunge']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
89 mimetypes = ['application/x-befunge']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
90
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
91 tokens = {
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
92 'root': [
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
93 (r'[0-9a-f]', Number),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
94 (r'[+*/%!`-]', Operator), # Traditional math
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
95 (r'[<>^v?\[\]rxjk]', Name.Variable), # Move, imperatives
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
96 (r'[:\\$.,n]', Name.Builtin), # Stack ops, imperatives
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
97 (r'[|_mw]', Keyword),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
98 (r'[{}]', Name.Tag), # Befunge-98 stack ops
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
99 (r'".*?"', String.Double), # Strings don't appear to allow escapes
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
100 (r'\'.', String.Single), # Single character
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
101 (r'[#;]', Comment), # Trampoline... depends on direction hit
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
102 (r'[pg&~=@iotsy]', Keyword), # Misc
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
103 (r'[()A-Z]', Comment), # Fingerprints
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
104 (r'\s+', Text), # Whitespace doesn't matter
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
105 ],
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
106 }
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
107
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
108
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
109 class CAmkESLexer(RegexLexer):
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
110 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
111 Basic lexer for the input language for the
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
112 `CAmkES <https://sel4.systems/CAmkES/>`_ component platform.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
113
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
114 .. versionadded:: 2.1
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
115 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
116 name = 'CAmkES'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
117 aliases = ['camkes', 'idl4']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
118 filenames = ['*.camkes', '*.idl4']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
119
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
120 tokens = {
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
121 'root': [
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
122 # C pre-processor directive
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
123 (r'^\s*#.*\n', Comment.Preproc),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
124
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
125 # Whitespace, comments
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
126 (r'\s+', Text),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
127 (r'/\*(.|\n)*?\*/', Comment),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
128 (r'//.*\n', Comment),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
129
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
130 (r'[\[(){},.;\]]', Punctuation),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
131 (r'[~!%^&*+=|?:<>/-]', Operator),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
132
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
133 (words(('assembly', 'attribute', 'component', 'composition',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
134 'configuration', 'connection', 'connector', 'consumes',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
135 'control', 'dataport', 'Dataport', 'Dataports', 'emits',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
136 'event', 'Event', 'Events', 'export', 'from', 'group',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
137 'hardware', 'has', 'interface', 'Interface', 'maybe',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
138 'procedure', 'Procedure', 'Procedures', 'provides',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
139 'template', 'thread', 'threads', 'to', 'uses', 'with'),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
140 suffix=r'\b'), Keyword),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
141
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
142 (words(('bool', 'boolean', 'Buf', 'char', 'character', 'double',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
143 'float', 'in', 'inout', 'int', 'int16_6', 'int32_t',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
144 'int64_t', 'int8_t', 'integer', 'mutex', 'out', 'real',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
145 'refin', 'semaphore', 'signed', 'string', 'struct',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
146 'uint16_t', 'uint32_t', 'uint64_t', 'uint8_t', 'uintptr_t',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
147 'unsigned', 'void'),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
148 suffix=r'\b'), Keyword.Type),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
149
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
150 # Recognised attributes
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
151 (r'[a-zA-Z_]\w*_(priority|domain|buffer)', Keyword.Reserved),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
152 (words(('dma_pool', 'from_access', 'to_access'), suffix=r'\b'),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
153 Keyword.Reserved),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
154
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
155 # CAmkES-level include
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
156 (r'import\s+(<[^>]*>|"[^"]*");', Comment.Preproc),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
157
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
158 # C-level include
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
159 (r'include\s+(<[^>]*>|"[^"]*");', Comment.Preproc),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
160
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
161 # Literals
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
162 (r'0[xX][\da-fA-F]+', Number.Hex),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
163 (r'-?[\d]+', Number),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
164 (r'-?[\d]+\.[\d]+', Number.Float),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
165 (r'"[^"]*"', String),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
166 (r'[Tt]rue|[Ff]alse', Name.Builtin),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
167
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
168 # Identifiers
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
169 (r'[a-zA-Z_]\w*', Name),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
170 ],
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
171 }
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
172
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
173
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
174 class CapDLLexer(RegexLexer):
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
175 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
176 Basic lexer for
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
177 `CapDL <https://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pml>`_.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
178
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
179 The source of the primary tool that reads such specifications is available
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
180 at https://github.com/seL4/capdl/tree/master/capDL-tool. Note that this
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
181 lexer only supports a subset of the grammar. For example, identifiers can
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
182 shadow type names, but these instances are currently incorrectly
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
183 highlighted as types. Supporting this would need a stateful lexer that is
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
184 considered unnecessarily complex for now.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
185
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
186 .. versionadded:: 2.2
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
187 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
188 name = 'CapDL'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
189 aliases = ['capdl']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
190 filenames = ['*.cdl']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
191
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
192 tokens = {
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
193 'root': [
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
194 # C pre-processor directive
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
195 (r'^\s*#.*\n', Comment.Preproc),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
196
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
197 # Whitespace, comments
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
198 (r'\s+', Text),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
199 (r'/\*(.|\n)*?\*/', Comment),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
200 (r'(//|--).*\n', Comment),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
201
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
202 (r'[<>\[(){},:;=\]]', Punctuation),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
203 (r'\.\.', Punctuation),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
204
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
205 (words(('arch', 'arm11', 'caps', 'child_of', 'ia32', 'irq', 'maps',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
206 'objects'), suffix=r'\b'), Keyword),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
207
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
208 (words(('aep', 'asid_pool', 'cnode', 'ep', 'frame', 'io_device',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
209 'io_ports', 'io_pt', 'notification', 'pd', 'pt', 'tcb',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
210 'ut', 'vcpu'), suffix=r'\b'), Keyword.Type),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
211
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
212 # Properties
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
213 (words(('asid', 'addr', 'badge', 'cached', 'dom', 'domainID', 'elf',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
214 'fault_ep', 'G', 'guard', 'guard_size', 'init', 'ip',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
215 'prio', 'sp', 'R', 'RG', 'RX', 'RW', 'RWG', 'RWX', 'W',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
216 'WG', 'WX', 'level', 'masked', 'master_reply', 'paddr',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
217 'ports', 'reply', 'uncached'), suffix=r'\b'),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
218 Keyword.Reserved),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
219
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
220 # Literals
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
221 (r'0[xX][\da-fA-F]+', Number.Hex),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
222 (r'\d+(\.\d+)?(k|M)?', Number),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
223 (words(('bits',), suffix=r'\b'), Number),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
224 (words(('cspace', 'vspace', 'reply_slot', 'caller_slot',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
225 'ipc_buffer_slot'), suffix=r'\b'), Number),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
226
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
227 # Identifiers
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
228 (r'[a-zA-Z_][-@\.\w]*', Name),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
229 ],
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
230 }
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
231
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
232
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
233 class RedcodeLexer(RegexLexer):
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
234 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
235 A simple Redcode lexer based on ICWS'94.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
236 Contributed by Adam Blinkinsop <blinks@acm.org>.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
237
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
238 .. versionadded:: 0.8
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
239 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
240 name = 'Redcode'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
241 aliases = ['redcode']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
242 filenames = ['*.cw']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
243
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
244 opcodes = ('DAT', 'MOV', 'ADD', 'SUB', 'MUL', 'DIV', 'MOD',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
245 'JMP', 'JMZ', 'JMN', 'DJN', 'CMP', 'SLT', 'SPL',
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
246 'ORG', 'EQU', 'END')
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
247 modifiers = ('A', 'B', 'AB', 'BA', 'F', 'X', 'I')
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
248
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
249 tokens = {
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
250 'root': [
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
251 # Whitespace:
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
252 (r'\s+', Text),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
253 (r';.*$', Comment.Single),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
254 # Lexemes:
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
255 # Identifiers
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
256 (r'\b(%s)\b' % '|'.join(opcodes), Name.Function),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
257 (r'\b(%s)\b' % '|'.join(modifiers), Name.Decorator),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
258 (r'[A-Za-z_]\w+', Name),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
259 # Operators
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
260 (r'[-+*/%]', Operator),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
261 (r'[#$@<>]', Operator), # mode
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
262 (r'[.,]', Punctuation), # mode
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
263 # Numbers
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
264 (r'[-+]?\d+', Number.Integer),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
265 ],
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
266 }
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
267
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
268
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
269 class AheuiLexer(RegexLexer):
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
270 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
271 Aheui_ Lexer.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
272
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
273 Aheui_ is esoteric language based on Korean alphabets.
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
274
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
275 .. _Aheui: http://aheui.github.io/
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
276
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
277 """
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
278
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
279 name = 'Aheui'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
280 aliases = ['aheui']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
281 filenames = ['*.aheui']
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
282
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
283 tokens = {
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
284 'root': [
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
285 ('['
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
286 '나-낳냐-냫너-넣녀-녛노-놓뇨-눟뉴-닇'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
287 '다-닿댜-댷더-덯뎌-뎧도-돟됴-둫듀-딓'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
288 '따-땋땨-떃떠-떻뗘-뗳또-똫뚀-뚷뜌-띟'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
289 '라-랗랴-럏러-렇려-렿로-롷료-뤃류-릫'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
290 '마-맣먀-먛머-멓며-몋모-뫃묘-뭏뮤-믷'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
291 '바-밯뱌-뱧버-벟벼-볗보-봏뵤-붛뷰-빃'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
292 '빠-빻뺘-뺳뻐-뻫뼈-뼣뽀-뽛뾰-뿧쀼-삏'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
293 '사-샇샤-샿서-섷셔-셯소-솧쇼-숳슈-싛'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
294 '싸-쌓쌰-썋써-쎃쎠-쎻쏘-쏳쑈-쑿쓔-씧'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
295 '자-잫쟈-쟣저-젛져-졓조-좋죠-줗쥬-즿'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
296 '차-챃챠-챻처-첳쳐-쳫초-촣쵸-춯츄-칗'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
297 '카-캏캬-컇커-컿켜-켷코-콯쿄-쿻큐-킣'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
298 '타-탛탸-턓터-텋텨-톃토-톻툐-퉇튜-틯'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
299 '파-팧퍄-퍟퍼-펗펴-폏포-퐇표-풓퓨-픻'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
300 '하-핳햐-햫허-헣혀-혛호-홓효-훟휴-힇'
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
301 ']', Operator),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
302 ('.', Comment),
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
303 ],
54c5cfbb1e29 Third Party packages
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7701
diff changeset
304 }

eric ide

mercurial