summaryrefslogtreecommitdiff
path: root/pygments/lexers/modula2.py
diff options
context:
space:
mode:
Diffstat (limited to 'pygments/lexers/modula2.py')
-rw-r--r--pygments/lexers/modula2.py313
1 files changed, 154 insertions, 159 deletions
diff --git a/pygments/lexers/modula2.py b/pygments/lexers/modula2.py
index d32bb5bb..a5fcbf78 100644
--- a/pygments/lexers/modula2.py
+++ b/pygments/lexers/modula2.py
@@ -77,20 +77,20 @@ class Modula2Lexer(RegexLexer):
A dialect option may be embedded in a source file in form of a dialect
tag, a specially formatted comment that specifies a dialect option.
- Dialect Tag EBNF:
+ Dialect Tag EBNF::
- dialectTag :
- OpeningCommentDelim Prefix dialectOption ClosingCommentDelim ;
+ dialectTag :
+ OpeningCommentDelim Prefix dialectOption ClosingCommentDelim ;
- dialectOption :
- 'm2pim' | 'm2iso' | 'm2r10' | 'objm2' |
- 'm2iso+aglet' | 'm2pim+gm2' | 'm2iso+p1' | 'm2iso+xds' ;
+ dialectOption :
+ 'm2pim' | 'm2iso' | 'm2r10' | 'objm2' |
+ 'm2iso+aglet' | 'm2pim+gm2' | 'm2iso+p1' | 'm2iso+xds' ;
- Prefix : '!' ;
+ Prefix : '!' ;
- OpeningCommentDelim : '(*' ;
+ OpeningCommentDelim : '(*' ;
- ClosingCommentDelim : '*)' ;
+ ClosingCommentDelim : '*)' ;
No whitespace is permitted between the tokens of a dialect tag.
@@ -103,9 +103,9 @@ class Modula2Lexer(RegexLexer):
Examples:
- `(*!m2r10*) DEFINITION MODULE Foobar; ...`
+ ``(*!m2r10*) DEFINITION MODULE Foobar; ...``
Use Modula2 R10 dialect to render this source file.
- `(*!m2pim+gm2*) DEFINITION MODULE Bazbam; ...`
+ ``(*!m2pim+gm2*) DEFINITION MODULE Bazbam; ...``
Use PIM dialect with GNU extensions to render this source file.
@@ -128,7 +128,7 @@ class Modula2Lexer(RegexLexer):
Example:
- `$ pygmentize -O full,style=algol -f latex -o /path/to/output /path/to/input`
+ ``$ pygmentize -O full,style=algol -f latex -o /path/to/output /path/to/input``
Render input file in Algol publication mode to LaTeX output.
@@ -151,7 +151,7 @@ class Modula2Lexer(RegexLexer):
Example:
- `$ pygmentize -O full,dialect=m2r10,treat_stdlib_adts_as_builtins=Off ...`
+ ``$ pygmentize -O full,dialect=m2r10,treat_stdlib_adts_as_builtins=Off ...``
Render standard library ADTs as ordinary library types.
.. versionadded:: 1.3
@@ -203,14 +203,14 @@ class Modula2Lexer(RegexLexer):
'plain_number_literals': [
#
# Base-10, real number with exponent
- (r'[0-9]+(\'[0-9]+)*' # integral part \
- r'\.[0-9]+(\'[0-9]+)*' # fractional part \
- r'[eE][+-]?[0-9]+(\'[0-9]+)*', # exponent \
+ (r'[0-9]+(\'[0-9]+)*' # integral part
+ r'\.[0-9]+(\'[0-9]+)*' # fractional part
+ r'[eE][+-]?[0-9]+(\'[0-9]+)*', # exponent
Number.Float),
#
# Base-10, real number without exponent
- (r'[0-9]+(\'[0-9]+)*' # integral part \
- r'\.[0-9]+(\'[0-9]+)*', # fractional part \
+ (r'[0-9]+(\'[0-9]+)*' # integral part
+ r'\.[0-9]+(\'[0-9]+)*', # fractional part
Number.Float),
#
# Base-10, whole number
@@ -235,52 +235,52 @@ class Modula2Lexer(RegexLexer):
# Dot Product Operator
(r'\*\.', Operator),
# Array Concatenation Operator
- (r'\+>', Operator), # M2R10 + ObjM2
+ (r'\+>', Operator), # M2R10 + ObjM2
# Inequality Operator
- (r'<>', Operator), # ISO + PIM
+ (r'<>', Operator), # ISO + PIM
# Less-Or-Equal, Subset
(r'<=', Operator),
# Greater-Or-Equal, Superset
(r'>=', Operator),
# Identity Operator
- (r'==', Operator), # M2R10 + ObjM2
+ (r'==', Operator), # M2R10 + ObjM2
# Type Conversion Operator
- (r'::', Operator), # M2R10 + ObjM2
+ (r'::', Operator), # M2R10 + ObjM2
# Assignment Symbol
(r':=', Operator),
# Postfix Increment Mutator
- (r'\+\+', Operator), # M2R10 + ObjM2
+ (r'\+\+', Operator), # M2R10 + ObjM2
# Postfix Decrement Mutator
- (r'--', Operator), # M2R10 + ObjM2
+ (r'--', Operator), # M2R10 + ObjM2
],
'unigraph_operators': [
# Arithmetic Operators
(r'[+-]', Operator),
(r'[*/]', Operator),
# ISO 80000-2 compliant Set Difference Operator
- (r'\\', Operator), # M2R10 + ObjM2
+ (r'\\', Operator), # M2R10 + ObjM2
# Relational Operators
(r'[=#<>]', Operator),
# Dereferencing Operator
(r'\^', Operator),
# Dereferencing Operator Synonym
- (r'@', Operator), # ISO
+ (r'@', Operator), # ISO
# Logical AND Operator Synonym
- (r'&', Operator), # PIM + ISO
+ (r'&', Operator), # PIM + ISO
# Logical NOT Operator Synonym
- (r'~', Operator), # PIM + ISO
+ (r'~', Operator), # PIM + ISO
# Smalltalk Message Prefix
- (r'`', Operator), # ObjM2
+ (r'`', Operator), # ObjM2
],
'digraph_punctuation': [
# Range Constructor
(r'\.\.', Punctuation),
# Opening Chevron Bracket
- (r'<<', Punctuation), # M2R10 + ISO
+ (r'<<', Punctuation), # M2R10 + ISO
# Closing Chevron Bracket
- (r'>>', Punctuation), # M2R10 + ISO
+ (r'>>', Punctuation), # M2R10 + ISO
# Blueprint Punctuation
- (r'->', Punctuation), # M2R10 + ISO
+ (r'->', Punctuation), # M2R10 + ISO
# Distinguish |# and # in M2 R10
(r'\|#', Punctuation),
# Distinguish ## and # in M2 R10
@@ -292,23 +292,23 @@ class Modula2Lexer(RegexLexer):
# Common Punctuation
(r'[\(\)\[\]{},.:;\|]', Punctuation),
# Case Label Separator Synonym
- (r'!', Punctuation), # ISO
+ (r'!', Punctuation), # ISO
# Blueprint Punctuation
- (r'\?', Punctuation), # M2R10 + ObjM2
+ (r'\?', Punctuation), # M2R10 + ObjM2
],
'comments': [
# Single Line Comment
- (r'^//.*?\n', Comment.Single), # M2R10 + ObjM2
+ (r'^//.*?\n', Comment.Single), # M2R10 + ObjM2
# Block Comment
(r'\(\*([^$].*?)\*\)', Comment.Multiline),
# Template Block Comment
- (r'/\*(.*?)\*/', Comment.Multiline), # M2R10 + ObjM2
+ (r'/\*(.*?)\*/', Comment.Multiline), # M2R10 + ObjM2
],
'pragmas': [
# ISO Style Pragmas
- (r'<\*.*?\*>', Comment.Preproc), # ISO, M2R10 + ObjM2
+ (r'<\*.*?\*>', Comment.Preproc), # ISO, M2R10 + ObjM2
# Pascal Style Pragmas
- (r'\(\*\$.*?\*\)', Comment.Preproc), # PIM
+ (r'\(\*\$.*?\*\)', Comment.Preproc), # PIM
],
'root': [
include('whitespace'),
@@ -316,8 +316,8 @@ class Modula2Lexer(RegexLexer):
include('pragmas'),
include('comments'),
include('identifiers'),
- include('suffixed_number_literals'), # PIM + ISO
- include('prefixed_number_literals'), # M2R10 + ObjM2
+ include('suffixed_number_literals'), # PIM + ISO
+ include('prefixed_number_literals'), # M2R10 + ObjM2
include('plain_number_literals'),
include('string_literals'),
include('digraph_punctuation'),
@@ -634,7 +634,7 @@ class Modula2Lexer(RegexLexer):
'CloseOutput', 'ReadString', 'ReadInt', 'ReadCard', 'ReadWrd',
'WriteInt', 'WriteCard', 'WriteOct', 'WriteHex', 'WriteWrd',
'ReadReal', 'WriteReal', 'WriteFixPt', 'WriteRealOct', 'sqrt', 'exp',
- 'ln', 'sin', 'cos', 'arctan', 'entier','ALLOCATE', 'DEALLOCATE',
+ 'ln', 'sin', 'cos', 'arctan', 'entier', 'ALLOCATE', 'DEALLOCATE',
)
# PIM Modula-2 Standard Library Variables Dataset
@@ -707,7 +707,7 @@ class Modula2Lexer(RegexLexer):
'LongRealIO', 'BCDIO', 'LongBCDIO', 'CardMath', 'LongCardMath',
'IntMath', 'LongIntMath', 'RealMath', 'LongRealMath', 'BCDMath',
'LongBCDMath', 'FileIO', 'FileSystem', 'Storage', 'IOSupport',
- )
+ )
# Modula-2 R10 Standard Library Types Dataset
m2r10_stdlib_type_identifiers = (
@@ -733,7 +733,6 @@ class Modula2Lexer(RegexLexer):
# D i a l e c t s
-
# Dialect modes
dialects = (
'unknown',
@@ -746,39 +745,39 @@ class Modula2Lexer(RegexLexer):
# Lexemes to Mark as Errors Database
lexemes_to_reject_db = {
# Lexemes to reject for unknown dialect
- 'unknown' : (
+ 'unknown': (
# LEAVE THIS EMPTY
),
# Lexemes to reject for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
pim_lexemes_to_reject,
),
# Lexemes to reject for ISO Modula-2
- 'm2iso' : (
+ 'm2iso': (
iso_lexemes_to_reject,
),
# Lexemes to reject for Modula-2 R10
- 'm2r10' : (
+ 'm2r10': (
m2r10_lexemes_to_reject,
),
# Lexemes to reject for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
objm2_lexemes_to_reject,
),
# Lexemes to reject for Aglet Modula-2
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
iso_lexemes_to_reject,
),
# Lexemes to reject for GNU Modula-2
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
pim_lexemes_to_reject,
),
# Lexemes to reject for p1 Modula-2
- 'm2iso+p1' : (
+ 'm2iso+p1': (
iso_lexemes_to_reject,
),
# Lexemes to reject for XDS Modula-2
- 'm2iso+xds' : (
+ 'm2iso+xds': (
iso_lexemes_to_reject,
),
}
@@ -786,7 +785,7 @@ class Modula2Lexer(RegexLexer):
# Reserved Words Database
reserved_words_db = {
# Reserved words for unknown dialect
- 'unknown' : (
+ 'unknown': (
common_reserved_words,
pim_additional_reserved_words,
iso_additional_reserved_words,
@@ -794,53 +793,53 @@ class Modula2Lexer(RegexLexer):
),
# Reserved words for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
common_reserved_words,
pim_additional_reserved_words,
),
# Reserved words for Modula-2 R10
- 'm2iso' : (
+ 'm2iso': (
common_reserved_words,
iso_additional_reserved_words,
),
# Reserved words for ISO Modula-2
- 'm2r10' : (
+ 'm2r10': (
common_reserved_words,
m2r10_additional_reserved_words,
),
# Reserved words for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
common_reserved_words,
m2r10_additional_reserved_words,
objm2_additional_reserved_words,
),
# Reserved words for Aglet Modula-2 Extensions
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
common_reserved_words,
iso_additional_reserved_words,
aglet_additional_reserved_words,
),
# Reserved words for GNU Modula-2 Extensions
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
common_reserved_words,
pim_additional_reserved_words,
gm2_additional_reserved_words,
),
# Reserved words for p1 Modula-2 Extensions
- 'm2iso+p1' : (
+ 'm2iso+p1': (
common_reserved_words,
iso_additional_reserved_words,
p1_additional_reserved_words,
),
# Reserved words for XDS Modula-2 Extensions
- 'm2iso+xds' : (
+ 'm2iso+xds': (
common_reserved_words,
iso_additional_reserved_words,
xds_additional_reserved_words,
@@ -850,7 +849,7 @@ class Modula2Lexer(RegexLexer):
# Builtins Database
builtins_db = {
# Builtins for unknown dialect
- 'unknown' : (
+ 'unknown': (
common_builtins,
pim_additional_builtins,
iso_additional_builtins,
@@ -858,53 +857,53 @@ class Modula2Lexer(RegexLexer):
),
# Builtins for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
common_builtins,
pim_additional_builtins,
),
# Builtins for ISO Modula-2
- 'm2iso' : (
+ 'm2iso': (
common_builtins,
iso_additional_builtins,
),
# Builtins for ISO Modula-2
- 'm2r10' : (
+ 'm2r10': (
common_builtins,
m2r10_additional_builtins,
),
# Builtins for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
common_builtins,
m2r10_additional_builtins,
objm2_additional_builtins,
),
# Builtins for Aglet Modula-2 Extensions
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
common_builtins,
iso_additional_builtins,
aglet_additional_builtins,
),
# Builtins for GNU Modula-2 Extensions
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
common_builtins,
pim_additional_builtins,
gm2_additional_builtins,
),
# Builtins for p1 Modula-2 Extensions
- 'm2iso+p1' : (
+ 'm2iso+p1': (
common_builtins,
iso_additional_builtins,
p1_additional_builtins,
),
# Builtins for XDS Modula-2 Extensions
- 'm2iso+xds' : (
+ 'm2iso+xds': (
common_builtins,
iso_additional_builtins,
xds_additional_builtins,
@@ -914,7 +913,7 @@ class Modula2Lexer(RegexLexer):
# Pseudo-Module Builtins Database
pseudo_builtins_db = {
# Builtins for unknown dialect
- 'unknown' : (
+ 'unknown': (
common_pseudo_builtins,
pim_additional_pseudo_builtins,
iso_additional_pseudo_builtins,
@@ -922,53 +921,53 @@ class Modula2Lexer(RegexLexer):
),
# Builtins for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
common_pseudo_builtins,
pim_additional_pseudo_builtins,
),
# Builtins for ISO Modula-2
- 'm2iso' : (
+ 'm2iso': (
common_pseudo_builtins,
iso_additional_pseudo_builtins,
),
# Builtins for ISO Modula-2
- 'm2r10' : (
+ 'm2r10': (
common_pseudo_builtins,
m2r10_additional_pseudo_builtins,
),
# Builtins for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
common_pseudo_builtins,
m2r10_additional_pseudo_builtins,
objm2_additional_pseudo_builtins,
),
# Builtins for Aglet Modula-2 Extensions
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
common_pseudo_builtins,
iso_additional_pseudo_builtins,
aglet_additional_pseudo_builtins,
),
# Builtins for GNU Modula-2 Extensions
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
common_pseudo_builtins,
pim_additional_pseudo_builtins,
gm2_additional_pseudo_builtins,
),
# Builtins for p1 Modula-2 Extensions
- 'm2iso+p1' : (
+ 'm2iso+p1': (
common_pseudo_builtins,
iso_additional_pseudo_builtins,
p1_additional_pseudo_builtins,
),
# Builtins for XDS Modula-2 Extensions
- 'm2iso+xds' : (
+ 'm2iso+xds': (
common_pseudo_builtins,
iso_additional_pseudo_builtins,
xds_additional_pseudo_builtins,
@@ -978,46 +977,46 @@ class Modula2Lexer(RegexLexer):
# Standard Library ADTs Database
stdlib_adts_db = {
# Empty entry for unknown dialect
- 'unknown' : (
+ 'unknown': (
# LEAVE THIS EMPTY
),
# Standard Library ADTs for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
# No first class library types
),
# Standard Library ADTs for ISO Modula-2
- 'm2iso' : (
+ 'm2iso': (
# No first class library types
),
# Standard Library ADTs for Modula-2 R10
- 'm2r10' : (
+ 'm2r10': (
m2r10_stdlib_adt_identifiers,
),
# Standard Library ADTs for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
m2r10_stdlib_adt_identifiers,
),
# Standard Library ADTs for Aglet Modula-2
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
# No first class library types
),
# Standard Library ADTs for GNU Modula-2
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
# No first class library types
),
# Standard Library ADTs for p1 Modula-2
- 'm2iso+p1' : (
+ 'm2iso+p1': (
# No first class library types
),
# Standard Library ADTs for XDS Modula-2
- 'm2iso+xds' : (
+ 'm2iso+xds': (
# No first class library types
),
}
@@ -1025,49 +1024,49 @@ class Modula2Lexer(RegexLexer):
# Standard Library Modules Database
stdlib_modules_db = {
# Empty entry for unknown dialect
- 'unknown' : (
+ 'unknown': (
# LEAVE THIS EMPTY
),
# Standard Library Modules for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
pim_stdlib_module_identifiers,
),
# Standard Library Modules for ISO Modula-2
- 'm2iso' : (
+ 'm2iso': (
iso_stdlib_module_identifiers,
),
# Standard Library Modules for Modula-2 R10
- 'm2r10' : (
+ 'm2r10': (
m2r10_stdlib_blueprint_identifiers,
m2r10_stdlib_module_identifiers,
m2r10_stdlib_adt_identifiers,
),
# Standard Library Modules for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
m2r10_stdlib_blueprint_identifiers,
m2r10_stdlib_module_identifiers,
),
# Standard Library Modules for Aglet Modula-2
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
iso_stdlib_module_identifiers,
),
# Standard Library Modules for GNU Modula-2
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
pim_stdlib_module_identifiers,
),
# Standard Library Modules for p1 Modula-2
- 'm2iso+p1' : (
+ 'm2iso+p1': (
iso_stdlib_module_identifiers,
),
# Standard Library Modules for XDS Modula-2
- 'm2iso+xds' : (
+ 'm2iso+xds': (
iso_stdlib_module_identifiers,
),
}
@@ -1075,46 +1074,46 @@ class Modula2Lexer(RegexLexer):
# Standard Library Types Database
stdlib_types_db = {
# Empty entry for unknown dialect
- 'unknown' : (
+ 'unknown': (
# LEAVE THIS EMPTY
),
# Standard Library Types for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
pim_stdlib_type_identifiers,
),
# Standard Library Types for ISO Modula-2
- 'm2iso' : (
+ 'm2iso': (
iso_stdlib_type_identifiers,
),
# Standard Library Types for Modula-2 R10
- 'm2r10' : (
+ 'm2r10': (
m2r10_stdlib_type_identifiers,
),
# Standard Library Types for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
m2r10_stdlib_type_identifiers,
),
# Standard Library Types for Aglet Modula-2
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
iso_stdlib_type_identifiers,
),
# Standard Library Types for GNU Modula-2
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
pim_stdlib_type_identifiers,
),
# Standard Library Types for p1 Modula-2
- 'm2iso+p1' : (
+ 'm2iso+p1': (
iso_stdlib_type_identifiers,
),
# Standard Library Types for XDS Modula-2
- 'm2iso+xds' : (
+ 'm2iso+xds': (
iso_stdlib_type_identifiers,
),
}
@@ -1122,46 +1121,46 @@ class Modula2Lexer(RegexLexer):
# Standard Library Procedures Database
stdlib_procedures_db = {
# Empty entry for unknown dialect
- 'unknown' : (
+ 'unknown': (
# LEAVE THIS EMPTY
),
# Standard Library Procedures for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
pim_stdlib_proc_identifiers,
),
# Standard Library Procedures for ISO Modula-2
- 'm2iso' : (
+ 'm2iso': (
iso_stdlib_proc_identifiers,
),
# Standard Library Procedures for Modula-2 R10
- 'm2r10' : (
+ 'm2r10': (
m2r10_stdlib_proc_identifiers,
),
# Standard Library Procedures for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
m2r10_stdlib_proc_identifiers,
),
# Standard Library Procedures for Aglet Modula-2
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
iso_stdlib_proc_identifiers,
),
# Standard Library Procedures for GNU Modula-2
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
pim_stdlib_proc_identifiers,
),
# Standard Library Procedures for p1 Modula-2
- 'm2iso+p1' : (
+ 'm2iso+p1': (
iso_stdlib_proc_identifiers,
),
# Standard Library Procedures for XDS Modula-2
- 'm2iso+xds' : (
+ 'm2iso+xds': (
iso_stdlib_proc_identifiers,
),
}
@@ -1169,46 +1168,46 @@ class Modula2Lexer(RegexLexer):
# Standard Library Variables Database
stdlib_variables_db = {
# Empty entry for unknown dialect
- 'unknown' : (
+ 'unknown': (
# LEAVE THIS EMPTY
),
# Standard Library Variables for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
pim_stdlib_var_identifiers,
),
# Standard Library Variables for ISO Modula-2
- 'm2iso' : (
+ 'm2iso': (
iso_stdlib_var_identifiers,
),
# Standard Library Variables for Modula-2 R10
- 'm2r10' : (
+ 'm2r10': (
m2r10_stdlib_var_identifiers,
),
# Standard Library Variables for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
m2r10_stdlib_var_identifiers,
),
# Standard Library Variables for Aglet Modula-2
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
iso_stdlib_var_identifiers,
),
# Standard Library Variables for GNU Modula-2
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
pim_stdlib_var_identifiers,
),
# Standard Library Variables for p1 Modula-2
- 'm2iso+p1' : (
+ 'm2iso+p1': (
iso_stdlib_var_identifiers,
),
# Standard Library Variables for XDS Modula-2
- 'm2iso+xds' : (
+ 'm2iso+xds': (
iso_stdlib_var_identifiers,
),
}
@@ -1216,46 +1215,46 @@ class Modula2Lexer(RegexLexer):
# Standard Library Constants Database
stdlib_constants_db = {
# Empty entry for unknown dialect
- 'unknown' : (
+ 'unknown': (
# LEAVE THIS EMPTY
),
# Standard Library Constants for PIM Modula-2
- 'm2pim' : (
+ 'm2pim': (
pim_stdlib_const_identifiers,
),
# Standard Library Constants for ISO Modula-2
- 'm2iso' : (
+ 'm2iso': (
iso_stdlib_const_identifiers,
),
# Standard Library Constants for Modula-2 R10
- 'm2r10' : (
+ 'm2r10': (
m2r10_stdlib_const_identifiers,
),
# Standard Library Constants for Objective Modula-2
- 'objm2' : (
+ 'objm2': (
m2r10_stdlib_const_identifiers,
),
# Standard Library Constants for Aglet Modula-2
- 'm2iso+aglet' : (
+ 'm2iso+aglet': (
iso_stdlib_const_identifiers,
),
# Standard Library Constants for GNU Modula-2
- 'm2pim+gm2' : (
+ 'm2pim+gm2': (
pim_stdlib_const_identifiers,
),
# Standard Library Constants for p1 Modula-2
- 'm2iso+p1' : (
+ 'm2iso+p1': (
iso_stdlib_const_identifiers,
),
# Standard Library Constants for XDS Modula-2
- 'm2iso+xds' : (
+ 'm2iso+xds': (
iso_stdlib_const_identifiers,
),
}
@@ -1265,10 +1264,6 @@ class Modula2Lexer(RegexLexer):
# initialise a lexer instance
def __init__(self, **options):
#
- # Alias for unknown dialect
- global UNKNOWN
- UNKNOWN = self.dialects[0]
- #
# check dialect options
#
dialects = get_list_opt(options, 'dialect', [])
@@ -1281,8 +1276,8 @@ class Modula2Lexer(RegexLexer):
#
# Fallback Mode (DEFAULT)
else:
- # no valid dialect option
- self.set_dialect(UNKNOWN)
+ # no valid dialect option
+ self.set_dialect('unknown')
#
self.dialect_set_by_tag = False
#
@@ -1298,8 +1293,8 @@ class Modula2Lexer(RegexLexer):
#
# Check option flags
#
- self.treat_stdlib_adts_as_builtins = \
- get_bool_opt(options, 'treat_stdlib_adts_as_builtins', True)
+ self.treat_stdlib_adts_as_builtins = get_bool_opt(
+ options, 'treat_stdlib_adts_as_builtins', True)
#
# call superclass initialiser
RegexLexer.__init__(self, **options)
@@ -1307,12 +1302,12 @@ class Modula2Lexer(RegexLexer):
# Set lexer to a specified dialect
def set_dialect(self, dialect_id):
#
- #if __debug__:
+ # if __debug__:
# print 'entered set_dialect with arg: ', dialect_id
#
# check dialect name against known dialects
if dialect_id not in self.dialects:
- dialect = UNKNOWN # default
+ dialect = 'unknown' # default
else:
dialect = dialect_id
#
@@ -1389,7 +1384,7 @@ class Modula2Lexer(RegexLexer):
self.variables = variables_set
self.constants = constants_set
#
- #if __debug__:
+ # if __debug__:
# print 'exiting set_dialect'
# print ' self.dialect: ', self.dialect
# print ' self.lexemes_to_reject: ', self.lexemes_to_reject
@@ -1409,7 +1404,7 @@ class Modula2Lexer(RegexLexer):
# matching name is returned, otherwise dialect id 'unknown' is returned
def get_dialect_from_dialect_tag(self, dialect_tag):
#
- #if __debug__:
+ # if __debug__:
# print 'entered get_dialect_from_dialect_tag with arg: ', dialect_tag
#
# constants
@@ -1422,37 +1417,37 @@ class Modula2Lexer(RegexLexer):
#
# check comment string for dialect indicator
if len(dialect_tag) > (left_tag_delim_len + right_tag_delim_len) \
- and dialect_tag.startswith(left_tag_delim) \
- and dialect_tag.endswith(right_tag_delim):
+ and dialect_tag.startswith(left_tag_delim) \
+ and dialect_tag.endswith(right_tag_delim):
#
- #if __debug__:
+ # if __debug__:
# print 'dialect tag found'
#
# extract dialect indicator
indicator = dialect_tag[indicator_start:indicator_end]
#
- #if __debug__:
+ # if __debug__:
# print 'extracted: ', indicator
#
# check against known dialects
for index in range(1, len(self.dialects)):
#
- #if __debug__:
+ # if __debug__:
# print 'dialects[', index, ']: ', self.dialects[index]
#
if indicator == self.dialects[index]:
#
- #if __debug__:
+ # if __debug__:
# print 'matching dialect found'
#
# indicator matches known dialect
return indicator
else:
# indicator does not match any dialect
- return UNKNOWN # default
+ return 'unknown' # default
else:
# invalid indicator string
- return UNKNOWN # default
+ return 'unknown' # default
# intercept the token stream, modify token attributes and return them
def get_tokens_unprocessed(self, text):
@@ -1461,7 +1456,7 @@ class Modula2Lexer(RegexLexer):
# check for dialect tag if dialect has not been set by tag
if not self.dialect_set_by_tag and token == Comment.Special:
indicated_dialect = self.get_dialect_from_dialect_tag(value)
- if indicated_dialect != UNKNOWN:
+ if indicated_dialect != 'unknown':
# token is a dialect indicator
# reset reserved words and builtins
self.set_dialect(indicated_dialect)
@@ -1510,7 +1505,7 @@ class Modula2Lexer(RegexLexer):
elif token in Number:
#
# mark prefix number literals as error for PIM and ISO dialects
- if self.dialect not in (UNKNOWN, 'm2r10', 'objm2'):
+ if self.dialect not in ('unknown', 'm2r10', 'objm2'):
if "'" in value or value[0:2] in ('0b', '0x', '0u'):
token = Error
#
@@ -1529,7 +1524,7 @@ class Modula2Lexer(RegexLexer):
#
# mark single line comment as error for PIM and ISO dialects
if token is Comment.Single:
- if self.dialect not in [UNKNOWN, 'm2r10', 'objm2']:
+ if self.dialect not in ('unknown', 'm2r10', 'objm2'):
token = Error
#
if token is Comment.Preproc:
@@ -1539,11 +1534,11 @@ class Modula2Lexer(RegexLexer):
token = Error
# mark PIM pragma as comment for other dialects
elif value.startswith('(*$') and \
- self.dialect != UNKNOWN and \
- not self.dialect.startswith('m2pim'):
+ self.dialect != 'unknown' and \
+ not self.dialect.startswith('m2pim'):
token = Comment.Multiline
#
- else: # token is neither Name nor Comment
+ else: # token is neither Name nor Comment
#
# mark lexemes matching the dialect's error token set as errors
if value in self.lexemes_to_reject: