80 lines
1.7 KiB
Text
80 lines
1.7 KiB
Text
Name: C
|
|
Details: The C programming language
|
|
Extension: .c
|
|
Multiline Comment Open: /*
|
|
Multiline Comment Close: */
|
|
Line Comment: //
|
|
String Literal: "\""
|
|
String Literal Escape: \
|
|
Character Literal: '
|
|
Character Literal Escape: \
|
|
C-Like: true
|
|
|
|
# C does in fact support octal literals, marking them as starting with an
|
|
# unnecessary initial zero. This is practically obsolete now, and in any case
|
|
# makes no difference to syntax-colouring. Binary literals were in theory
|
|
# rejected by the C standards body as useless, but are so useful that gcc
|
|
# and clang support them anyway.
|
|
|
|
Hexadecimal Literal Prefix: 0x
|
|
Binary Literal Prefix: 0b
|
|
Negative Literal Prefix: -
|
|
|
|
Before Named Paragraph Expansion: \n{\n
|
|
After Named Paragraph Expansion: }\n
|
|
Start Ifdef: #ifdef %S\n
|
|
End Ifdef: #endif /* %S */\n
|
|
Start Ifndef: #ifndef %S\n
|
|
End Ifndef: #endif /* %S */\n
|
|
Line Marker: "#line %d \"%f\"\n"
|
|
|
|
Start Definition: #define %S\s
|
|
Prolong Definition: \\\n\s\s\s\s
|
|
End Definition: \n
|
|
|
|
keyword auto
|
|
keyword break
|
|
keyword case
|
|
keyword char
|
|
keyword const
|
|
keyword continue
|
|
keyword default
|
|
keyword do
|
|
keyword double
|
|
keyword else
|
|
keyword enum
|
|
keyword extern
|
|
keyword float
|
|
keyword for
|
|
keyword goto
|
|
keyword if
|
|
keyword int
|
|
keyword long
|
|
keyword register
|
|
keyword return
|
|
keyword short
|
|
keyword signed
|
|
keyword sizeof
|
|
keyword static
|
|
keyword struct
|
|
keyword switch
|
|
keyword typedef
|
|
keyword union
|
|
keyword unsigned
|
|
keyword void
|
|
keyword volatile
|
|
keyword while
|
|
|
|
colouring {
|
|
runs of unquoted {
|
|
runs of !identifier {
|
|
keyword of !reserved => !reserved
|
|
keyword of !function => !function
|
|
keyword of !constant => !constant
|
|
keyword of !element => {
|
|
optionally spaced prefix . => !element
|
|
optionally spaced prefix -> => !element
|
|
}
|
|
}
|
|
}
|
|
}
|