forked from Silverfish/proton-bridge
feat: custom address/date parser based on rfc5322 abnf
This commit is contained in:
227
pkg/message/rfc5322/parser/RFC5322Lexer.interp
Normal file
227
pkg/message/rfc5322/parser/RFC5322Lexer.interp
Normal file
File diff suppressed because one or more lines are too long
110
pkg/message/rfc5322/parser/RFC5322Lexer.tokens
Normal file
110
pkg/message/rfc5322/parser/RFC5322Lexer.tokens
Normal file
@ -0,0 +1,110 @@
|
||||
U_00=1
|
||||
U_01_08=2
|
||||
TAB=3
|
||||
LF=4
|
||||
U_0B=5
|
||||
U_0C=6
|
||||
CR=7
|
||||
U_0E_1F=8
|
||||
SP=9
|
||||
Exclamation=10
|
||||
DQuote=11
|
||||
Hash=12
|
||||
Dollar=13
|
||||
Percent=14
|
||||
Ampersand=15
|
||||
SQuote=16
|
||||
LParens=17
|
||||
RParens=18
|
||||
Asterisk=19
|
||||
Plus=20
|
||||
Comma=21
|
||||
Minus=22
|
||||
Period=23
|
||||
Slash=24
|
||||
Digit=25
|
||||
Colon=26
|
||||
Semicolon=27
|
||||
Less=28
|
||||
Equal=29
|
||||
Greater=30
|
||||
Question=31
|
||||
At=32
|
||||
LBracket=33
|
||||
Backslash=34
|
||||
RBracket=35
|
||||
Caret=36
|
||||
Underscore=37
|
||||
Backtick=38
|
||||
LCurly=39
|
||||
Pipe=40
|
||||
RCurly=41
|
||||
Tilde=42
|
||||
Delete=43
|
||||
UTF8NonAscii=44
|
||||
A=45
|
||||
B=46
|
||||
C=47
|
||||
D=48
|
||||
E=49
|
||||
F=50
|
||||
G=51
|
||||
H=52
|
||||
I=53
|
||||
J=54
|
||||
K=55
|
||||
L=56
|
||||
M=57
|
||||
N=58
|
||||
O=59
|
||||
P=60
|
||||
Q=61
|
||||
R=62
|
||||
S=63
|
||||
T=64
|
||||
U=65
|
||||
V=66
|
||||
W=67
|
||||
X=68
|
||||
Y=69
|
||||
Z=70
|
||||
'\u0000'=1
|
||||
'\t'=3
|
||||
'\n'=4
|
||||
'\u000B'=5
|
||||
'\u000C'=6
|
||||
'\r'=7
|
||||
' '=9
|
||||
'!'=10
|
||||
'"'=11
|
||||
'#'=12
|
||||
'$'=13
|
||||
'%'=14
|
||||
'&'=15
|
||||
'\''=16
|
||||
'('=17
|
||||
')'=18
|
||||
'*'=19
|
||||
'+'=20
|
||||
','=21
|
||||
'-'=22
|
||||
'.'=23
|
||||
'/'=24
|
||||
':'=26
|
||||
';'=27
|
||||
'<'=28
|
||||
'='=29
|
||||
'>'=30
|
||||
'?'=31
|
||||
'@'=32
|
||||
'['=33
|
||||
'\\'=34
|
||||
']'=35
|
||||
'^'=36
|
||||
'_'=37
|
||||
'`'=38
|
||||
'{'=39
|
||||
'|'=40
|
||||
'}'=41
|
||||
'~'=42
|
||||
'\u007F'=43
|
||||
217
pkg/message/rfc5322/parser/RFC5322Parser.interp
Normal file
217
pkg/message/rfc5322/parser/RFC5322Parser.interp
Normal file
File diff suppressed because one or more lines are too long
110
pkg/message/rfc5322/parser/RFC5322Parser.tokens
Normal file
110
pkg/message/rfc5322/parser/RFC5322Parser.tokens
Normal file
@ -0,0 +1,110 @@
|
||||
U_00=1
|
||||
U_01_08=2
|
||||
TAB=3
|
||||
LF=4
|
||||
U_0B=5
|
||||
U_0C=6
|
||||
CR=7
|
||||
U_0E_1F=8
|
||||
SP=9
|
||||
Exclamation=10
|
||||
DQuote=11
|
||||
Hash=12
|
||||
Dollar=13
|
||||
Percent=14
|
||||
Ampersand=15
|
||||
SQuote=16
|
||||
LParens=17
|
||||
RParens=18
|
||||
Asterisk=19
|
||||
Plus=20
|
||||
Comma=21
|
||||
Minus=22
|
||||
Period=23
|
||||
Slash=24
|
||||
Digit=25
|
||||
Colon=26
|
||||
Semicolon=27
|
||||
Less=28
|
||||
Equal=29
|
||||
Greater=30
|
||||
Question=31
|
||||
At=32
|
||||
LBracket=33
|
||||
Backslash=34
|
||||
RBracket=35
|
||||
Caret=36
|
||||
Underscore=37
|
||||
Backtick=38
|
||||
LCurly=39
|
||||
Pipe=40
|
||||
RCurly=41
|
||||
Tilde=42
|
||||
Delete=43
|
||||
UTF8NonAscii=44
|
||||
A=45
|
||||
B=46
|
||||
C=47
|
||||
D=48
|
||||
E=49
|
||||
F=50
|
||||
G=51
|
||||
H=52
|
||||
I=53
|
||||
J=54
|
||||
K=55
|
||||
L=56
|
||||
M=57
|
||||
N=58
|
||||
O=59
|
||||
P=60
|
||||
Q=61
|
||||
R=62
|
||||
S=63
|
||||
T=64
|
||||
U=65
|
||||
V=66
|
||||
W=67
|
||||
X=68
|
||||
Y=69
|
||||
Z=70
|
||||
'\u0000'=1
|
||||
'\t'=3
|
||||
'\n'=4
|
||||
'\u000B'=5
|
||||
'\u000C'=6
|
||||
'\r'=7
|
||||
' '=9
|
||||
'!'=10
|
||||
'"'=11
|
||||
'#'=12
|
||||
'$'=13
|
||||
'%'=14
|
||||
'&'=15
|
||||
'\''=16
|
||||
'('=17
|
||||
')'=18
|
||||
'*'=19
|
||||
'+'=20
|
||||
','=21
|
||||
'-'=22
|
||||
'.'=23
|
||||
'/'=24
|
||||
':'=26
|
||||
';'=27
|
||||
'<'=28
|
||||
'='=29
|
||||
'>'=30
|
||||
'?'=31
|
||||
'@'=32
|
||||
'['=33
|
||||
'\\'=34
|
||||
']'=35
|
||||
'^'=36
|
||||
'_'=37
|
||||
'`'=38
|
||||
'{'=39
|
||||
'|'=40
|
||||
'}'=41
|
||||
'~'=42
|
||||
'\u007F'=43
|
||||
309
pkg/message/rfc5322/parser/rfc5322_lexer.go
Normal file
309
pkg/message/rfc5322/parser/rfc5322_lexer.go
Normal file
@ -0,0 +1,309 @@
|
||||
// Copyright (c) 2020 Proton Technologies AG
|
||||
//
|
||||
// This file is part of ProtonMail Bridge.
|
||||
//
|
||||
// ProtonMail Bridge is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ProtonMail Bridge is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with ProtonMail Bridge. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
// Code generated from RFC5322Lexer.g4 by ANTLR 4.8. DO NOT EDIT.
|
||||
|
||||
package parser
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"unicode"
|
||||
|
||||
"github.com/antlr/antlr4/runtime/Go/antlr"
|
||||
)
|
||||
|
||||
// Suppress unused import error
|
||||
var _ = fmt.Printf
|
||||
var _ = unicode.IsLetter
|
||||
|
||||
var serializedLexerAtn = []uint16{
|
||||
3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 72, 283,
|
||||
8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7,
|
||||
9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12,
|
||||
4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4,
|
||||
18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23,
|
||||
9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9,
|
||||
28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33,
|
||||
4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4,
|
||||
39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44,
|
||||
9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9,
|
||||
49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54,
|
||||
4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 4, 58, 9, 58, 4, 59, 9, 59, 4,
|
||||
60, 9, 60, 4, 61, 9, 61, 4, 62, 9, 62, 4, 63, 9, 63, 4, 64, 9, 64, 4, 65,
|
||||
9, 65, 4, 66, 9, 66, 4, 67, 9, 67, 4, 68, 9, 68, 4, 69, 9, 69, 4, 70, 9,
|
||||
70, 4, 71, 9, 71, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6,
|
||||
3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3,
|
||||
12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17,
|
||||
3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 3, 20, 3, 21, 3, 21, 3, 22, 3,
|
||||
22, 3, 23, 3, 23, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 27, 3, 27,
|
||||
3, 28, 3, 28, 3, 29, 3, 29, 3, 30, 3, 30, 3, 31, 3, 31, 3, 32, 3, 32, 3,
|
||||
33, 3, 33, 3, 34, 3, 34, 3, 35, 3, 35, 3, 36, 3, 36, 3, 37, 3, 37, 3, 38,
|
||||
3, 38, 3, 39, 3, 39, 3, 40, 3, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 43, 3,
|
||||
43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48,
|
||||
3, 49, 3, 49, 3, 50, 3, 50, 3, 51, 3, 51, 3, 52, 3, 52, 3, 53, 3, 53, 3,
|
||||
54, 3, 54, 3, 55, 3, 55, 3, 56, 3, 56, 3, 57, 3, 57, 3, 58, 3, 58, 3, 59,
|
||||
3, 59, 3, 60, 3, 60, 3, 61, 3, 61, 3, 62, 3, 62, 3, 63, 3, 63, 3, 64, 3,
|
||||
64, 3, 65, 3, 65, 3, 66, 3, 66, 3, 67, 3, 67, 3, 68, 3, 68, 3, 69, 3, 69,
|
||||
3, 70, 3, 70, 3, 71, 3, 71, 2, 2, 72, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13,
|
||||
8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17,
|
||||
33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 23, 45, 24, 47, 25, 49, 26,
|
||||
51, 27, 53, 28, 55, 29, 57, 30, 59, 31, 61, 32, 63, 33, 65, 34, 67, 35,
|
||||
69, 36, 71, 37, 73, 38, 75, 39, 77, 40, 79, 41, 81, 42, 83, 43, 85, 44,
|
||||
87, 45, 89, 46, 91, 47, 93, 48, 95, 49, 97, 50, 99, 51, 101, 52, 103, 53,
|
||||
105, 54, 107, 55, 109, 56, 111, 57, 113, 58, 115, 59, 117, 60, 119, 61,
|
||||
121, 62, 123, 63, 125, 64, 127, 65, 129, 66, 131, 67, 133, 68, 135, 69,
|
||||
137, 70, 139, 71, 141, 72, 3, 2, 29, 3, 2, 50, 59, 4, 2, 67, 67, 99, 99,
|
||||
4, 2, 68, 68, 100, 100, 4, 2, 69, 69, 101, 101, 4, 2, 70, 70, 102, 102,
|
||||
4, 2, 71, 71, 103, 103, 4, 2, 72, 72, 104, 104, 4, 2, 73, 73, 105, 105,
|
||||
4, 2, 74, 74, 106, 106, 4, 2, 75, 75, 107, 107, 4, 2, 76, 76, 108, 108,
|
||||
4, 2, 77, 77, 109, 109, 4, 2, 78, 78, 110, 110, 4, 2, 79, 79, 111, 111,
|
||||
4, 2, 80, 80, 112, 112, 4, 2, 81, 81, 113, 113, 4, 2, 82, 82, 114, 114,
|
||||
4, 2, 83, 83, 115, 115, 4, 2, 84, 84, 116, 116, 4, 2, 85, 85, 117, 117,
|
||||
4, 2, 86, 86, 118, 118, 4, 2, 87, 87, 119, 119, 4, 2, 88, 88, 120, 120,
|
||||
4, 2, 89, 89, 121, 121, 4, 2, 90, 90, 122, 122, 4, 2, 91, 91, 123, 123,
|
||||
4, 2, 92, 92, 124, 124, 2, 282, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2,
|
||||
7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2,
|
||||
2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2,
|
||||
2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2,
|
||||
2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3,
|
||||
2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 2, 43, 3, 2, 2, 2, 2, 45,
|
||||
3, 2, 2, 2, 2, 47, 3, 2, 2, 2, 2, 49, 3, 2, 2, 2, 2, 51, 3, 2, 2, 2, 2,
|
||||
53, 3, 2, 2, 2, 2, 55, 3, 2, 2, 2, 2, 57, 3, 2, 2, 2, 2, 59, 3, 2, 2, 2,
|
||||
2, 61, 3, 2, 2, 2, 2, 63, 3, 2, 2, 2, 2, 65, 3, 2, 2, 2, 2, 67, 3, 2, 2,
|
||||
2, 2, 69, 3, 2, 2, 2, 2, 71, 3, 2, 2, 2, 2, 73, 3, 2, 2, 2, 2, 75, 3, 2,
|
||||
2, 2, 2, 77, 3, 2, 2, 2, 2, 79, 3, 2, 2, 2, 2, 81, 3, 2, 2, 2, 2, 83, 3,
|
||||
2, 2, 2, 2, 85, 3, 2, 2, 2, 2, 87, 3, 2, 2, 2, 2, 89, 3, 2, 2, 2, 2, 91,
|
||||
3, 2, 2, 2, 2, 93, 3, 2, 2, 2, 2, 95, 3, 2, 2, 2, 2, 97, 3, 2, 2, 2, 2,
|
||||
99, 3, 2, 2, 2, 2, 101, 3, 2, 2, 2, 2, 103, 3, 2, 2, 2, 2, 105, 3, 2, 2,
|
||||
2, 2, 107, 3, 2, 2, 2, 2, 109, 3, 2, 2, 2, 2, 111, 3, 2, 2, 2, 2, 113,
|
||||
3, 2, 2, 2, 2, 115, 3, 2, 2, 2, 2, 117, 3, 2, 2, 2, 2, 119, 3, 2, 2, 2,
|
||||
2, 121, 3, 2, 2, 2, 2, 123, 3, 2, 2, 2, 2, 125, 3, 2, 2, 2, 2, 127, 3,
|
||||
2, 2, 2, 2, 129, 3, 2, 2, 2, 2, 131, 3, 2, 2, 2, 2, 133, 3, 2, 2, 2, 2,
|
||||
135, 3, 2, 2, 2, 2, 137, 3, 2, 2, 2, 2, 139, 3, 2, 2, 2, 2, 141, 3, 2,
|
||||
2, 2, 3, 143, 3, 2, 2, 2, 5, 145, 3, 2, 2, 2, 7, 147, 3, 2, 2, 2, 9, 149,
|
||||
3, 2, 2, 2, 11, 151, 3, 2, 2, 2, 13, 153, 3, 2, 2, 2, 15, 155, 3, 2, 2,
|
||||
2, 17, 157, 3, 2, 2, 2, 19, 159, 3, 2, 2, 2, 21, 161, 3, 2, 2, 2, 23, 163,
|
||||
3, 2, 2, 2, 25, 165, 3, 2, 2, 2, 27, 167, 3, 2, 2, 2, 29, 169, 3, 2, 2,
|
||||
2, 31, 171, 3, 2, 2, 2, 33, 173, 3, 2, 2, 2, 35, 175, 3, 2, 2, 2, 37, 177,
|
||||
3, 2, 2, 2, 39, 179, 3, 2, 2, 2, 41, 181, 3, 2, 2, 2, 43, 183, 3, 2, 2,
|
||||
2, 45, 185, 3, 2, 2, 2, 47, 187, 3, 2, 2, 2, 49, 189, 3, 2, 2, 2, 51, 191,
|
||||
3, 2, 2, 2, 53, 193, 3, 2, 2, 2, 55, 195, 3, 2, 2, 2, 57, 197, 3, 2, 2,
|
||||
2, 59, 199, 3, 2, 2, 2, 61, 201, 3, 2, 2, 2, 63, 203, 3, 2, 2, 2, 65, 205,
|
||||
3, 2, 2, 2, 67, 207, 3, 2, 2, 2, 69, 209, 3, 2, 2, 2, 71, 211, 3, 2, 2,
|
||||
2, 73, 213, 3, 2, 2, 2, 75, 215, 3, 2, 2, 2, 77, 217, 3, 2, 2, 2, 79, 219,
|
||||
3, 2, 2, 2, 81, 221, 3, 2, 2, 2, 83, 223, 3, 2, 2, 2, 85, 225, 3, 2, 2,
|
||||
2, 87, 227, 3, 2, 2, 2, 89, 229, 3, 2, 2, 2, 91, 231, 3, 2, 2, 2, 93, 233,
|
||||
3, 2, 2, 2, 95, 235, 3, 2, 2, 2, 97, 237, 3, 2, 2, 2, 99, 239, 3, 2, 2,
|
||||
2, 101, 241, 3, 2, 2, 2, 103, 243, 3, 2, 2, 2, 105, 245, 3, 2, 2, 2, 107,
|
||||
247, 3, 2, 2, 2, 109, 249, 3, 2, 2, 2, 111, 251, 3, 2, 2, 2, 113, 253,
|
||||
3, 2, 2, 2, 115, 255, 3, 2, 2, 2, 117, 257, 3, 2, 2, 2, 119, 259, 3, 2,
|
||||
2, 2, 121, 261, 3, 2, 2, 2, 123, 263, 3, 2, 2, 2, 125, 265, 3, 2, 2, 2,
|
||||
127, 267, 3, 2, 2, 2, 129, 269, 3, 2, 2, 2, 131, 271, 3, 2, 2, 2, 133,
|
||||
273, 3, 2, 2, 2, 135, 275, 3, 2, 2, 2, 137, 277, 3, 2, 2, 2, 139, 279,
|
||||
3, 2, 2, 2, 141, 281, 3, 2, 2, 2, 143, 144, 7, 2, 2, 2, 144, 4, 3, 2, 2,
|
||||
2, 145, 146, 4, 3, 10, 2, 146, 6, 3, 2, 2, 2, 147, 148, 7, 11, 2, 2, 148,
|
||||
8, 3, 2, 2, 2, 149, 150, 7, 12, 2, 2, 150, 10, 3, 2, 2, 2, 151, 152, 7,
|
||||
13, 2, 2, 152, 12, 3, 2, 2, 2, 153, 154, 7, 14, 2, 2, 154, 14, 3, 2, 2,
|
||||
2, 155, 156, 7, 15, 2, 2, 156, 16, 3, 2, 2, 2, 157, 158, 4, 16, 33, 2,
|
||||
158, 18, 3, 2, 2, 2, 159, 160, 7, 34, 2, 2, 160, 20, 3, 2, 2, 2, 161, 162,
|
||||
7, 35, 2, 2, 162, 22, 3, 2, 2, 2, 163, 164, 7, 36, 2, 2, 164, 24, 3, 2,
|
||||
2, 2, 165, 166, 7, 37, 2, 2, 166, 26, 3, 2, 2, 2, 167, 168, 7, 38, 2, 2,
|
||||
168, 28, 3, 2, 2, 2, 169, 170, 7, 39, 2, 2, 170, 30, 3, 2, 2, 2, 171, 172,
|
||||
7, 40, 2, 2, 172, 32, 3, 2, 2, 2, 173, 174, 7, 41, 2, 2, 174, 34, 3, 2,
|
||||
2, 2, 175, 176, 7, 42, 2, 2, 176, 36, 3, 2, 2, 2, 177, 178, 7, 43, 2, 2,
|
||||
178, 38, 3, 2, 2, 2, 179, 180, 7, 44, 2, 2, 180, 40, 3, 2, 2, 2, 181, 182,
|
||||
7, 45, 2, 2, 182, 42, 3, 2, 2, 2, 183, 184, 7, 46, 2, 2, 184, 44, 3, 2,
|
||||
2, 2, 185, 186, 7, 47, 2, 2, 186, 46, 3, 2, 2, 2, 187, 188, 7, 48, 2, 2,
|
||||
188, 48, 3, 2, 2, 2, 189, 190, 7, 49, 2, 2, 190, 50, 3, 2, 2, 2, 191, 192,
|
||||
9, 2, 2, 2, 192, 52, 3, 2, 2, 2, 193, 194, 7, 60, 2, 2, 194, 54, 3, 2,
|
||||
2, 2, 195, 196, 7, 61, 2, 2, 196, 56, 3, 2, 2, 2, 197, 198, 7, 62, 2, 2,
|
||||
198, 58, 3, 2, 2, 2, 199, 200, 7, 63, 2, 2, 200, 60, 3, 2, 2, 2, 201, 202,
|
||||
7, 64, 2, 2, 202, 62, 3, 2, 2, 2, 203, 204, 7, 65, 2, 2, 204, 64, 3, 2,
|
||||
2, 2, 205, 206, 7, 66, 2, 2, 206, 66, 3, 2, 2, 2, 207, 208, 7, 93, 2, 2,
|
||||
208, 68, 3, 2, 2, 2, 209, 210, 7, 94, 2, 2, 210, 70, 3, 2, 2, 2, 211, 212,
|
||||
7, 95, 2, 2, 212, 72, 3, 2, 2, 2, 213, 214, 7, 96, 2, 2, 214, 74, 3, 2,
|
||||
2, 2, 215, 216, 7, 97, 2, 2, 216, 76, 3, 2, 2, 2, 217, 218, 7, 98, 2, 2,
|
||||
218, 78, 3, 2, 2, 2, 219, 220, 7, 125, 2, 2, 220, 80, 3, 2, 2, 2, 221,
|
||||
222, 7, 126, 2, 2, 222, 82, 3, 2, 2, 2, 223, 224, 7, 127, 2, 2, 224, 84,
|
||||
3, 2, 2, 2, 225, 226, 7, 128, 2, 2, 226, 86, 3, 2, 2, 2, 227, 228, 7, 129,
|
||||
2, 2, 228, 88, 3, 2, 2, 2, 229, 230, 4, 130, 1, 2, 230, 90, 3, 2, 2, 2,
|
||||
231, 232, 9, 3, 2, 2, 232, 92, 3, 2, 2, 2, 233, 234, 9, 4, 2, 2, 234, 94,
|
||||
3, 2, 2, 2, 235, 236, 9, 5, 2, 2, 236, 96, 3, 2, 2, 2, 237, 238, 9, 6,
|
||||
2, 2, 238, 98, 3, 2, 2, 2, 239, 240, 9, 7, 2, 2, 240, 100, 3, 2, 2, 2,
|
||||
241, 242, 9, 8, 2, 2, 242, 102, 3, 2, 2, 2, 243, 244, 9, 9, 2, 2, 244,
|
||||
104, 3, 2, 2, 2, 245, 246, 9, 10, 2, 2, 246, 106, 3, 2, 2, 2, 247, 248,
|
||||
9, 11, 2, 2, 248, 108, 3, 2, 2, 2, 249, 250, 9, 12, 2, 2, 250, 110, 3,
|
||||
2, 2, 2, 251, 252, 9, 13, 2, 2, 252, 112, 3, 2, 2, 2, 253, 254, 9, 14,
|
||||
2, 2, 254, 114, 3, 2, 2, 2, 255, 256, 9, 15, 2, 2, 256, 116, 3, 2, 2, 2,
|
||||
257, 258, 9, 16, 2, 2, 258, 118, 3, 2, 2, 2, 259, 260, 9, 17, 2, 2, 260,
|
||||
120, 3, 2, 2, 2, 261, 262, 9, 18, 2, 2, 262, 122, 3, 2, 2, 2, 263, 264,
|
||||
9, 19, 2, 2, 264, 124, 3, 2, 2, 2, 265, 266, 9, 20, 2, 2, 266, 126, 3,
|
||||
2, 2, 2, 267, 268, 9, 21, 2, 2, 268, 128, 3, 2, 2, 2, 269, 270, 9, 22,
|
||||
2, 2, 270, 130, 3, 2, 2, 2, 271, 272, 9, 23, 2, 2, 272, 132, 3, 2, 2, 2,
|
||||
273, 274, 9, 24, 2, 2, 274, 134, 3, 2, 2, 2, 275, 276, 9, 25, 2, 2, 276,
|
||||
136, 3, 2, 2, 2, 277, 278, 9, 26, 2, 2, 278, 138, 3, 2, 2, 2, 279, 280,
|
||||
9, 27, 2, 2, 280, 140, 3, 2, 2, 2, 281, 282, 9, 28, 2, 2, 282, 142, 3,
|
||||
2, 2, 2, 3, 2, 2,
|
||||
}
|
||||
|
||||
var lexerDeserializer = antlr.NewATNDeserializer(nil)
|
||||
var lexerAtn = lexerDeserializer.DeserializeFromUInt16(serializedLexerAtn)
|
||||
|
||||
var lexerChannelNames = []string{
|
||||
"DEFAULT_TOKEN_CHANNEL", "HIDDEN",
|
||||
}
|
||||
|
||||
var lexerModeNames = []string{
|
||||
"DEFAULT_MODE",
|
||||
}
|
||||
|
||||
var lexerLiteralNames = []string{
|
||||
"", "'\u0000'", "", "'\t'", "'\n'", "'\u000B'", "'\u000C'", "'\r'", "",
|
||||
"' '", "'!'", "'\"'", "'#'", "'$'", "'%'", "'&'", "'''", "'('", "')'",
|
||||
"'*'", "'+'", "','", "'-'", "'.'", "'/'", "", "':'", "';'", "'<'", "'='",
|
||||
"'>'", "'?'", "'@'", "'['", "'\\'", "']'", "'^'", "'_'", "'`'", "'{'",
|
||||
"'|'", "'}'", "'~'", "'\u007F'",
|
||||
}
|
||||
|
||||
var lexerSymbolicNames = []string{
|
||||
"", "U_00", "U_01_08", "TAB", "LF", "U_0B", "U_0C", "CR", "U_0E_1F", "SP",
|
||||
"Exclamation", "DQuote", "Hash", "Dollar", "Percent", "Ampersand", "SQuote",
|
||||
"LParens", "RParens", "Asterisk", "Plus", "Comma", "Minus", "Period", "Slash",
|
||||
"Digit", "Colon", "Semicolon", "Less", "Equal", "Greater", "Question",
|
||||
"At", "LBracket", "Backslash", "RBracket", "Caret", "Underscore", "Backtick",
|
||||
"LCurly", "Pipe", "RCurly", "Tilde", "Delete", "UTF8NonAscii", "A", "B",
|
||||
"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q",
|
||||
"R", "S", "T", "U", "V", "W", "X", "Y", "Z",
|
||||
}
|
||||
|
||||
var lexerRuleNames = []string{
|
||||
"U_00", "U_01_08", "TAB", "LF", "U_0B", "U_0C", "CR", "U_0E_1F", "SP",
|
||||
"Exclamation", "DQuote", "Hash", "Dollar", "Percent", "Ampersand", "SQuote",
|
||||
"LParens", "RParens", "Asterisk", "Plus", "Comma", "Minus", "Period", "Slash",
|
||||
"Digit", "Colon", "Semicolon", "Less", "Equal", "Greater", "Question",
|
||||
"At", "LBracket", "Backslash", "RBracket", "Caret", "Underscore", "Backtick",
|
||||
"LCurly", "Pipe", "RCurly", "Tilde", "Delete", "UTF8NonAscii", "A", "B",
|
||||
"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q",
|
||||
"R", "S", "T", "U", "V", "W", "X", "Y", "Z",
|
||||
}
|
||||
|
||||
type RFC5322Lexer struct {
|
||||
*antlr.BaseLexer
|
||||
channelNames []string
|
||||
modeNames []string
|
||||
// TODO: EOF string
|
||||
}
|
||||
|
||||
var lexerDecisionToDFA = make([]*antlr.DFA, len(lexerAtn.DecisionToState))
|
||||
|
||||
func init() {
|
||||
for index, ds := range lexerAtn.DecisionToState {
|
||||
lexerDecisionToDFA[index] = antlr.NewDFA(ds, index)
|
||||
}
|
||||
}
|
||||
|
||||
func NewRFC5322Lexer(input antlr.CharStream) *RFC5322Lexer {
|
||||
|
||||
l := new(RFC5322Lexer)
|
||||
|
||||
l.BaseLexer = antlr.NewBaseLexer(input)
|
||||
l.Interpreter = antlr.NewLexerATNSimulator(l, lexerAtn, lexerDecisionToDFA, antlr.NewPredictionContextCache())
|
||||
|
||||
l.channelNames = lexerChannelNames
|
||||
l.modeNames = lexerModeNames
|
||||
l.RuleNames = lexerRuleNames
|
||||
l.LiteralNames = lexerLiteralNames
|
||||
l.SymbolicNames = lexerSymbolicNames
|
||||
l.GrammarFileName = "RFC5322Lexer.g4"
|
||||
// TODO: l.EOF = antlr.TokenEOF
|
||||
|
||||
return l
|
||||
}
|
||||
|
||||
// RFC5322Lexer tokens.
|
||||
const (
|
||||
RFC5322LexerU_00 = 1
|
||||
RFC5322LexerU_01_08 = 2
|
||||
RFC5322LexerTAB = 3
|
||||
RFC5322LexerLF = 4
|
||||
RFC5322LexerU_0B = 5
|
||||
RFC5322LexerU_0C = 6
|
||||
RFC5322LexerCR = 7
|
||||
RFC5322LexerU_0E_1F = 8
|
||||
RFC5322LexerSP = 9
|
||||
RFC5322LexerExclamation = 10
|
||||
RFC5322LexerDQuote = 11
|
||||
RFC5322LexerHash = 12
|
||||
RFC5322LexerDollar = 13
|
||||
RFC5322LexerPercent = 14
|
||||
RFC5322LexerAmpersand = 15
|
||||
RFC5322LexerSQuote = 16
|
||||
RFC5322LexerLParens = 17
|
||||
RFC5322LexerRParens = 18
|
||||
RFC5322LexerAsterisk = 19
|
||||
RFC5322LexerPlus = 20
|
||||
RFC5322LexerComma = 21
|
||||
RFC5322LexerMinus = 22
|
||||
RFC5322LexerPeriod = 23
|
||||
RFC5322LexerSlash = 24
|
||||
RFC5322LexerDigit = 25
|
||||
RFC5322LexerColon = 26
|
||||
RFC5322LexerSemicolon = 27
|
||||
RFC5322LexerLess = 28
|
||||
RFC5322LexerEqual = 29
|
||||
RFC5322LexerGreater = 30
|
||||
RFC5322LexerQuestion = 31
|
||||
RFC5322LexerAt = 32
|
||||
RFC5322LexerLBracket = 33
|
||||
RFC5322LexerBackslash = 34
|
||||
RFC5322LexerRBracket = 35
|
||||
RFC5322LexerCaret = 36
|
||||
RFC5322LexerUnderscore = 37
|
||||
RFC5322LexerBacktick = 38
|
||||
RFC5322LexerLCurly = 39
|
||||
RFC5322LexerPipe = 40
|
||||
RFC5322LexerRCurly = 41
|
||||
RFC5322LexerTilde = 42
|
||||
RFC5322LexerDelete = 43
|
||||
RFC5322LexerUTF8NonAscii = 44
|
||||
RFC5322LexerA = 45
|
||||
RFC5322LexerB = 46
|
||||
RFC5322LexerC = 47
|
||||
RFC5322LexerD = 48
|
||||
RFC5322LexerE = 49
|
||||
RFC5322LexerF = 50
|
||||
RFC5322LexerG = 51
|
||||
RFC5322LexerH = 52
|
||||
RFC5322LexerI = 53
|
||||
RFC5322LexerJ = 54
|
||||
RFC5322LexerK = 55
|
||||
RFC5322LexerL = 56
|
||||
RFC5322LexerM = 57
|
||||
RFC5322LexerN = 58
|
||||
RFC5322LexerO = 59
|
||||
RFC5322LexerP = 60
|
||||
RFC5322LexerQ = 61
|
||||
RFC5322LexerR = 62
|
||||
RFC5322LexerS = 63
|
||||
RFC5322LexerT = 64
|
||||
RFC5322LexerU = 65
|
||||
RFC5322LexerV = 66
|
||||
RFC5322LexerW = 67
|
||||
RFC5322LexerX = 68
|
||||
RFC5322LexerY = 69
|
||||
RFC5322LexerZ = 70
|
||||
)
|
||||
13326
pkg/message/rfc5322/parser/rfc5322_parser.go
Normal file
13326
pkg/message/rfc5322/parser/rfc5322_parser.go
Normal file
File diff suppressed because it is too large
Load Diff
435
pkg/message/rfc5322/parser/rfc5322parser_base_listener.go
Normal file
435
pkg/message/rfc5322/parser/rfc5322parser_base_listener.go
Normal file
@ -0,0 +1,435 @@
|
||||
// Copyright (c) 2020 Proton Technologies AG
|
||||
//
|
||||
// This file is part of ProtonMail Bridge.
|
||||
//
|
||||
// ProtonMail Bridge is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ProtonMail Bridge is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with ProtonMail Bridge. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
// Code generated from RFC5322Parser.g4 by ANTLR 4.8. DO NOT EDIT.
|
||||
|
||||
package parser // RFC5322Parser
|
||||
|
||||
import "github.com/antlr/antlr4/runtime/Go/antlr"
|
||||
|
||||
// BaseRFC5322ParserListener is a complete listener for a parse tree produced by RFC5322Parser.
|
||||
type BaseRFC5322ParserListener struct{}
|
||||
|
||||
var _ RFC5322ParserListener = &BaseRFC5322ParserListener{}
|
||||
|
||||
// VisitTerminal is called when a terminal node is visited.
|
||||
func (s *BaseRFC5322ParserListener) VisitTerminal(node antlr.TerminalNode) {}
|
||||
|
||||
// VisitErrorNode is called when an error node is visited.
|
||||
func (s *BaseRFC5322ParserListener) VisitErrorNode(node antlr.ErrorNode) {}
|
||||
|
||||
// EnterEveryRule is called when any rule is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterEveryRule(ctx antlr.ParserRuleContext) {}
|
||||
|
||||
// ExitEveryRule is called when any rule is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitEveryRule(ctx antlr.ParserRuleContext) {}
|
||||
|
||||
// EnterQuotedChar is called when production quotedChar is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterQuotedChar(ctx *QuotedCharContext) {}
|
||||
|
||||
// ExitQuotedChar is called when production quotedChar is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitQuotedChar(ctx *QuotedCharContext) {}
|
||||
|
||||
// EnterQuotedPair is called when production quotedPair is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterQuotedPair(ctx *QuotedPairContext) {}
|
||||
|
||||
// ExitQuotedPair is called when production quotedPair is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitQuotedPair(ctx *QuotedPairContext) {}
|
||||
|
||||
// EnterFws is called when production fws is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterFws(ctx *FwsContext) {}
|
||||
|
||||
// ExitFws is called when production fws is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitFws(ctx *FwsContext) {}
|
||||
|
||||
// EnterCtext is called when production ctext is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterCtext(ctx *CtextContext) {}
|
||||
|
||||
// ExitCtext is called when production ctext is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitCtext(ctx *CtextContext) {}
|
||||
|
||||
// EnterCcontent is called when production ccontent is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterCcontent(ctx *CcontentContext) {}
|
||||
|
||||
// ExitCcontent is called when production ccontent is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitCcontent(ctx *CcontentContext) {}
|
||||
|
||||
// EnterComment is called when production comment is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterComment(ctx *CommentContext) {}
|
||||
|
||||
// ExitComment is called when production comment is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitComment(ctx *CommentContext) {}
|
||||
|
||||
// EnterCfws is called when production cfws is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterCfws(ctx *CfwsContext) {}
|
||||
|
||||
// ExitCfws is called when production cfws is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitCfws(ctx *CfwsContext) {}
|
||||
|
||||
// EnterAtext is called when production atext is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterAtext(ctx *AtextContext) {}
|
||||
|
||||
// ExitAtext is called when production atext is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitAtext(ctx *AtextContext) {}
|
||||
|
||||
// EnterAtom is called when production atom is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterAtom(ctx *AtomContext) {}
|
||||
|
||||
// ExitAtom is called when production atom is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitAtom(ctx *AtomContext) {}
|
||||
|
||||
// EnterDotAtom is called when production dotAtom is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterDotAtom(ctx *DotAtomContext) {}
|
||||
|
||||
// ExitDotAtom is called when production dotAtom is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitDotAtom(ctx *DotAtomContext) {}
|
||||
|
||||
// EnterQtext is called when production qtext is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterQtext(ctx *QtextContext) {}
|
||||
|
||||
// ExitQtext is called when production qtext is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitQtext(ctx *QtextContext) {}
|
||||
|
||||
// EnterQuotedContent is called when production quotedContent is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterQuotedContent(ctx *QuotedContentContext) {}
|
||||
|
||||
// ExitQuotedContent is called when production quotedContent is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitQuotedContent(ctx *QuotedContentContext) {}
|
||||
|
||||
// EnterQuotedValue is called when production quotedValue is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterQuotedValue(ctx *QuotedValueContext) {}
|
||||
|
||||
// ExitQuotedValue is called when production quotedValue is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitQuotedValue(ctx *QuotedValueContext) {}
|
||||
|
||||
// EnterQuotedString is called when production quotedString is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterQuotedString(ctx *QuotedStringContext) {}
|
||||
|
||||
// ExitQuotedString is called when production quotedString is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitQuotedString(ctx *QuotedStringContext) {}
|
||||
|
||||
// EnterWord is called when production word is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterWord(ctx *WordContext) {}
|
||||
|
||||
// ExitWord is called when production word is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitWord(ctx *WordContext) {}
|
||||
|
||||
// EnterDateTime is called when production dateTime is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterDateTime(ctx *DateTimeContext) {}
|
||||
|
||||
// ExitDateTime is called when production dateTime is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitDateTime(ctx *DateTimeContext) {}
|
||||
|
||||
// EnterDayOfweek is called when production dayOfweek is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterDayOfweek(ctx *DayOfweekContext) {}
|
||||
|
||||
// ExitDayOfweek is called when production dayOfweek is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitDayOfweek(ctx *DayOfweekContext) {}
|
||||
|
||||
// EnterDayName is called when production dayName is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterDayName(ctx *DayNameContext) {}
|
||||
|
||||
// ExitDayName is called when production dayName is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitDayName(ctx *DayNameContext) {}
|
||||
|
||||
// EnterDay is called when production day is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterDay(ctx *DayContext) {}
|
||||
|
||||
// ExitDay is called when production day is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitDay(ctx *DayContext) {}
|
||||
|
||||
// EnterMonth is called when production month is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterMonth(ctx *MonthContext) {}
|
||||
|
||||
// ExitMonth is called when production month is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitMonth(ctx *MonthContext) {}
|
||||
|
||||
// EnterYear is called when production year is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterYear(ctx *YearContext) {}
|
||||
|
||||
// ExitYear is called when production year is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitYear(ctx *YearContext) {}
|
||||
|
||||
// EnterHour is called when production hour is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterHour(ctx *HourContext) {}
|
||||
|
||||
// ExitHour is called when production hour is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitHour(ctx *HourContext) {}
|
||||
|
||||
// EnterMinute is called when production minute is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterMinute(ctx *MinuteContext) {}
|
||||
|
||||
// ExitMinute is called when production minute is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitMinute(ctx *MinuteContext) {}
|
||||
|
||||
// EnterSecond is called when production second is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterSecond(ctx *SecondContext) {}
|
||||
|
||||
// ExitSecond is called when production second is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitSecond(ctx *SecondContext) {}
|
||||
|
||||
// EnterOffset is called when production offset is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterOffset(ctx *OffsetContext) {}
|
||||
|
||||
// ExitOffset is called when production offset is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitOffset(ctx *OffsetContext) {}
|
||||
|
||||
// EnterZone is called when production zone is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterZone(ctx *ZoneContext) {}
|
||||
|
||||
// ExitZone is called when production zone is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitZone(ctx *ZoneContext) {}
|
||||
|
||||
// EnterAddress is called when production address is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterAddress(ctx *AddressContext) {}
|
||||
|
||||
// ExitAddress is called when production address is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitAddress(ctx *AddressContext) {}
|
||||
|
||||
// EnterMailbox is called when production mailbox is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterMailbox(ctx *MailboxContext) {}
|
||||
|
||||
// ExitMailbox is called when production mailbox is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitMailbox(ctx *MailboxContext) {}
|
||||
|
||||
// EnterNameAddr is called when production nameAddr is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterNameAddr(ctx *NameAddrContext) {}
|
||||
|
||||
// ExitNameAddr is called when production nameAddr is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitNameAddr(ctx *NameAddrContext) {}
|
||||
|
||||
// EnterAngleAddr is called when production angleAddr is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterAngleAddr(ctx *AngleAddrContext) {}
|
||||
|
||||
// ExitAngleAddr is called when production angleAddr is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitAngleAddr(ctx *AngleAddrContext) {}
|
||||
|
||||
// EnterGroup is called when production group is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterGroup(ctx *GroupContext) {}
|
||||
|
||||
// ExitGroup is called when production group is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitGroup(ctx *GroupContext) {}
|
||||
|
||||
// EnterDisplayName is called when production displayName is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterDisplayName(ctx *DisplayNameContext) {}
|
||||
|
||||
// ExitDisplayName is called when production displayName is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitDisplayName(ctx *DisplayNameContext) {}
|
||||
|
||||
// EnterMailboxList is called when production mailboxList is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterMailboxList(ctx *MailboxListContext) {}
|
||||
|
||||
// ExitMailboxList is called when production mailboxList is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitMailboxList(ctx *MailboxListContext) {}
|
||||
|
||||
// EnterAddressList is called when production addressList is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterAddressList(ctx *AddressListContext) {}
|
||||
|
||||
// ExitAddressList is called when production addressList is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitAddressList(ctx *AddressListContext) {}
|
||||
|
||||
// EnterGroupList is called when production groupList is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterGroupList(ctx *GroupListContext) {}
|
||||
|
||||
// ExitGroupList is called when production groupList is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitGroupList(ctx *GroupListContext) {}
|
||||
|
||||
// EnterAddrSpec is called when production addrSpec is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterAddrSpec(ctx *AddrSpecContext) {}
|
||||
|
||||
// ExitAddrSpec is called when production addrSpec is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitAddrSpec(ctx *AddrSpecContext) {}
|
||||
|
||||
// EnterLocalPart is called when production localPart is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterLocalPart(ctx *LocalPartContext) {}
|
||||
|
||||
// ExitLocalPart is called when production localPart is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitLocalPart(ctx *LocalPartContext) {}
|
||||
|
||||
// EnterPort is called when production port is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterPort(ctx *PortContext) {}
|
||||
|
||||
// ExitPort is called when production port is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitPort(ctx *PortContext) {}
|
||||
|
||||
// EnterDomain is called when production domain is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterDomain(ctx *DomainContext) {}
|
||||
|
||||
// ExitDomain is called when production domain is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitDomain(ctx *DomainContext) {}
|
||||
|
||||
// EnterDomainLiteral is called when production domainLiteral is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterDomainLiteral(ctx *DomainLiteralContext) {}
|
||||
|
||||
// ExitDomainLiteral is called when production domainLiteral is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitDomainLiteral(ctx *DomainLiteralContext) {}
|
||||
|
||||
// EnterDtext is called when production dtext is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterDtext(ctx *DtextContext) {}
|
||||
|
||||
// ExitDtext is called when production dtext is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitDtext(ctx *DtextContext) {}
|
||||
|
||||
// EnterObsNoWSCTL is called when production obsNoWSCTL is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsNoWSCTL(ctx *ObsNoWSCTLContext) {}
|
||||
|
||||
// ExitObsNoWSCTL is called when production obsNoWSCTL is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsNoWSCTL(ctx *ObsNoWSCTLContext) {}
|
||||
|
||||
// EnterObsCtext is called when production obsCtext is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsCtext(ctx *ObsCtextContext) {}
|
||||
|
||||
// ExitObsCtext is called when production obsCtext is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsCtext(ctx *ObsCtextContext) {}
|
||||
|
||||
// EnterObsQtext is called when production obsQtext is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsQtext(ctx *ObsQtextContext) {}
|
||||
|
||||
// ExitObsQtext is called when production obsQtext is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsQtext(ctx *ObsQtextContext) {}
|
||||
|
||||
// EnterObsQP is called when production obsQP is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsQP(ctx *ObsQPContext) {}
|
||||
|
||||
// ExitObsQP is called when production obsQP is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsQP(ctx *ObsQPContext) {}
|
||||
|
||||
// EnterObsFWS is called when production obsFWS is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsFWS(ctx *ObsFWSContext) {}
|
||||
|
||||
// ExitObsFWS is called when production obsFWS is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsFWS(ctx *ObsFWSContext) {}
|
||||
|
||||
// EnterObsZone is called when production obsZone is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsZone(ctx *ObsZoneContext) {}
|
||||
|
||||
// ExitObsZone is called when production obsZone is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsZone(ctx *ObsZoneContext) {}
|
||||
|
||||
// EnterObsAngleAddr is called when production obsAngleAddr is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsAngleAddr(ctx *ObsAngleAddrContext) {}
|
||||
|
||||
// ExitObsAngleAddr is called when production obsAngleAddr is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsAngleAddr(ctx *ObsAngleAddrContext) {}
|
||||
|
||||
// EnterObsRoute is called when production obsRoute is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsRoute(ctx *ObsRouteContext) {}
|
||||
|
||||
// ExitObsRoute is called when production obsRoute is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsRoute(ctx *ObsRouteContext) {}
|
||||
|
||||
// EnterObsDomainList is called when production obsDomainList is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsDomainList(ctx *ObsDomainListContext) {}
|
||||
|
||||
// ExitObsDomainList is called when production obsDomainList is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsDomainList(ctx *ObsDomainListContext) {}
|
||||
|
||||
// EnterObsMboxList is called when production obsMboxList is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsMboxList(ctx *ObsMboxListContext) {}
|
||||
|
||||
// ExitObsMboxList is called when production obsMboxList is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsMboxList(ctx *ObsMboxListContext) {}
|
||||
|
||||
// EnterObsAddrList is called when production obsAddrList is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsAddrList(ctx *ObsAddrListContext) {}
|
||||
|
||||
// ExitObsAddrList is called when production obsAddrList is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsAddrList(ctx *ObsAddrListContext) {}
|
||||
|
||||
// EnterObsGroupList is called when production obsGroupList is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsGroupList(ctx *ObsGroupListContext) {}
|
||||
|
||||
// ExitObsGroupList is called when production obsGroupList is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsGroupList(ctx *ObsGroupListContext) {}
|
||||
|
||||
// EnterObsLocalPart is called when production obsLocalPart is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsLocalPart(ctx *ObsLocalPartContext) {}
|
||||
|
||||
// ExitObsLocalPart is called when production obsLocalPart is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsLocalPart(ctx *ObsLocalPartContext) {}
|
||||
|
||||
// EnterObsDomain is called when production obsDomain is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterObsDomain(ctx *ObsDomainContext) {}
|
||||
|
||||
// ExitObsDomain is called when production obsDomain is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitObsDomain(ctx *ObsDomainContext) {}
|
||||
|
||||
// EnterEncodedWord is called when production encodedWord is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterEncodedWord(ctx *EncodedWordContext) {}
|
||||
|
||||
// ExitEncodedWord is called when production encodedWord is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitEncodedWord(ctx *EncodedWordContext) {}
|
||||
|
||||
// EnterCharset is called when production charset is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterCharset(ctx *CharsetContext) {}
|
||||
|
||||
// ExitCharset is called when production charset is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitCharset(ctx *CharsetContext) {}
|
||||
|
||||
// EnterEncoding is called when production encoding is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterEncoding(ctx *EncodingContext) {}
|
||||
|
||||
// ExitEncoding is called when production encoding is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitEncoding(ctx *EncodingContext) {}
|
||||
|
||||
// EnterToken is called when production token is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterToken(ctx *TokenContext) {}
|
||||
|
||||
// ExitToken is called when production token is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitToken(ctx *TokenContext) {}
|
||||
|
||||
// EnterTokenChar is called when production tokenChar is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterTokenChar(ctx *TokenCharContext) {}
|
||||
|
||||
// ExitTokenChar is called when production tokenChar is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitTokenChar(ctx *TokenCharContext) {}
|
||||
|
||||
// EnterEncodedText is called when production encodedText is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterEncodedText(ctx *EncodedTextContext) {}
|
||||
|
||||
// ExitEncodedText is called when production encodedText is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitEncodedText(ctx *EncodedTextContext) {}
|
||||
|
||||
// EnterEncodedChar is called when production encodedChar is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterEncodedChar(ctx *EncodedCharContext) {}
|
||||
|
||||
// ExitEncodedChar is called when production encodedChar is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitEncodedChar(ctx *EncodedCharContext) {}
|
||||
|
||||
// EnterCrlf is called when production crlf is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterCrlf(ctx *CrlfContext) {}
|
||||
|
||||
// ExitCrlf is called when production crlf is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitCrlf(ctx *CrlfContext) {}
|
||||
|
||||
// EnterWsp is called when production wsp is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterWsp(ctx *WspContext) {}
|
||||
|
||||
// ExitWsp is called when production wsp is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitWsp(ctx *WspContext) {}
|
||||
|
||||
// EnterVchar is called when production vchar is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterVchar(ctx *VcharContext) {}
|
||||
|
||||
// ExitVchar is called when production vchar is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitVchar(ctx *VcharContext) {}
|
||||
|
||||
// EnterAlpha is called when production alpha is entered.
|
||||
func (s *BaseRFC5322ParserListener) EnterAlpha(ctx *AlphaContext) {}
|
||||
|
||||
// ExitAlpha is called when production alpha is exited.
|
||||
func (s *BaseRFC5322ParserListener) ExitAlpha(ctx *AlphaContext) {}
|
||||
423
pkg/message/rfc5322/parser/rfc5322parser_listener.go
Normal file
423
pkg/message/rfc5322/parser/rfc5322parser_listener.go
Normal file
@ -0,0 +1,423 @@
|
||||
// Copyright (c) 2020 Proton Technologies AG
|
||||
//
|
||||
// This file is part of ProtonMail Bridge.
|
||||
//
|
||||
// ProtonMail Bridge is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// ProtonMail Bridge is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with ProtonMail Bridge. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
// Code generated from RFC5322Parser.g4 by ANTLR 4.8. DO NOT EDIT.
|
||||
|
||||
package parser // RFC5322Parser
|
||||
|
||||
import "github.com/antlr/antlr4/runtime/Go/antlr"
|
||||
|
||||
// RFC5322ParserListener is a complete listener for a parse tree produced by RFC5322Parser.
|
||||
type RFC5322ParserListener interface {
|
||||
antlr.ParseTreeListener
|
||||
|
||||
// EnterQuotedChar is called when entering the quotedChar production.
|
||||
EnterQuotedChar(c *QuotedCharContext)
|
||||
|
||||
// EnterQuotedPair is called when entering the quotedPair production.
|
||||
EnterQuotedPair(c *QuotedPairContext)
|
||||
|
||||
// EnterFws is called when entering the fws production.
|
||||
EnterFws(c *FwsContext)
|
||||
|
||||
// EnterCtext is called when entering the ctext production.
|
||||
EnterCtext(c *CtextContext)
|
||||
|
||||
// EnterCcontent is called when entering the ccontent production.
|
||||
EnterCcontent(c *CcontentContext)
|
||||
|
||||
// EnterComment is called when entering the comment production.
|
||||
EnterComment(c *CommentContext)
|
||||
|
||||
// EnterCfws is called when entering the cfws production.
|
||||
EnterCfws(c *CfwsContext)
|
||||
|
||||
// EnterAtext is called when entering the atext production.
|
||||
EnterAtext(c *AtextContext)
|
||||
|
||||
// EnterAtom is called when entering the atom production.
|
||||
EnterAtom(c *AtomContext)
|
||||
|
||||
// EnterDotAtom is called when entering the dotAtom production.
|
||||
EnterDotAtom(c *DotAtomContext)
|
||||
|
||||
// EnterQtext is called when entering the qtext production.
|
||||
EnterQtext(c *QtextContext)
|
||||
|
||||
// EnterQuotedContent is called when entering the quotedContent production.
|
||||
EnterQuotedContent(c *QuotedContentContext)
|
||||
|
||||
// EnterQuotedValue is called when entering the quotedValue production.
|
||||
EnterQuotedValue(c *QuotedValueContext)
|
||||
|
||||
// EnterQuotedString is called when entering the quotedString production.
|
||||
EnterQuotedString(c *QuotedStringContext)
|
||||
|
||||
// EnterWord is called when entering the word production.
|
||||
EnterWord(c *WordContext)
|
||||
|
||||
// EnterDateTime is called when entering the dateTime production.
|
||||
EnterDateTime(c *DateTimeContext)
|
||||
|
||||
// EnterDayOfweek is called when entering the dayOfweek production.
|
||||
EnterDayOfweek(c *DayOfweekContext)
|
||||
|
||||
// EnterDayName is called when entering the dayName production.
|
||||
EnterDayName(c *DayNameContext)
|
||||
|
||||
// EnterDay is called when entering the day production.
|
||||
EnterDay(c *DayContext)
|
||||
|
||||
// EnterMonth is called when entering the month production.
|
||||
EnterMonth(c *MonthContext)
|
||||
|
||||
// EnterYear is called when entering the year production.
|
||||
EnterYear(c *YearContext)
|
||||
|
||||
// EnterHour is called when entering the hour production.
|
||||
EnterHour(c *HourContext)
|
||||
|
||||
// EnterMinute is called when entering the minute production.
|
||||
EnterMinute(c *MinuteContext)
|
||||
|
||||
// EnterSecond is called when entering the second production.
|
||||
EnterSecond(c *SecondContext)
|
||||
|
||||
// EnterOffset is called when entering the offset production.
|
||||
EnterOffset(c *OffsetContext)
|
||||
|
||||
// EnterZone is called when entering the zone production.
|
||||
EnterZone(c *ZoneContext)
|
||||
|
||||
// EnterAddress is called when entering the address production.
|
||||
EnterAddress(c *AddressContext)
|
||||
|
||||
// EnterMailbox is called when entering the mailbox production.
|
||||
EnterMailbox(c *MailboxContext)
|
||||
|
||||
// EnterNameAddr is called when entering the nameAddr production.
|
||||
EnterNameAddr(c *NameAddrContext)
|
||||
|
||||
// EnterAngleAddr is called when entering the angleAddr production.
|
||||
EnterAngleAddr(c *AngleAddrContext)
|
||||
|
||||
// EnterGroup is called when entering the group production.
|
||||
EnterGroup(c *GroupContext)
|
||||
|
||||
// EnterDisplayName is called when entering the displayName production.
|
||||
EnterDisplayName(c *DisplayNameContext)
|
||||
|
||||
// EnterMailboxList is called when entering the mailboxList production.
|
||||
EnterMailboxList(c *MailboxListContext)
|
||||
|
||||
// EnterAddressList is called when entering the addressList production.
|
||||
EnterAddressList(c *AddressListContext)
|
||||
|
||||
// EnterGroupList is called when entering the groupList production.
|
||||
EnterGroupList(c *GroupListContext)
|
||||
|
||||
// EnterAddrSpec is called when entering the addrSpec production.
|
||||
EnterAddrSpec(c *AddrSpecContext)
|
||||
|
||||
// EnterLocalPart is called when entering the localPart production.
|
||||
EnterLocalPart(c *LocalPartContext)
|
||||
|
||||
// EnterPort is called when entering the port production.
|
||||
EnterPort(c *PortContext)
|
||||
|
||||
// EnterDomain is called when entering the domain production.
|
||||
EnterDomain(c *DomainContext)
|
||||
|
||||
// EnterDomainLiteral is called when entering the domainLiteral production.
|
||||
EnterDomainLiteral(c *DomainLiteralContext)
|
||||
|
||||
// EnterDtext is called when entering the dtext production.
|
||||
EnterDtext(c *DtextContext)
|
||||
|
||||
// EnterObsNoWSCTL is called when entering the obsNoWSCTL production.
|
||||
EnterObsNoWSCTL(c *ObsNoWSCTLContext)
|
||||
|
||||
// EnterObsCtext is called when entering the obsCtext production.
|
||||
EnterObsCtext(c *ObsCtextContext)
|
||||
|
||||
// EnterObsQtext is called when entering the obsQtext production.
|
||||
EnterObsQtext(c *ObsQtextContext)
|
||||
|
||||
// EnterObsQP is called when entering the obsQP production.
|
||||
EnterObsQP(c *ObsQPContext)
|
||||
|
||||
// EnterObsFWS is called when entering the obsFWS production.
|
||||
EnterObsFWS(c *ObsFWSContext)
|
||||
|
||||
// EnterObsZone is called when entering the obsZone production.
|
||||
EnterObsZone(c *ObsZoneContext)
|
||||
|
||||
// EnterObsAngleAddr is called when entering the obsAngleAddr production.
|
||||
EnterObsAngleAddr(c *ObsAngleAddrContext)
|
||||
|
||||
// EnterObsRoute is called when entering the obsRoute production.
|
||||
EnterObsRoute(c *ObsRouteContext)
|
||||
|
||||
// EnterObsDomainList is called when entering the obsDomainList production.
|
||||
EnterObsDomainList(c *ObsDomainListContext)
|
||||
|
||||
// EnterObsMboxList is called when entering the obsMboxList production.
|
||||
EnterObsMboxList(c *ObsMboxListContext)
|
||||
|
||||
// EnterObsAddrList is called when entering the obsAddrList production.
|
||||
EnterObsAddrList(c *ObsAddrListContext)
|
||||
|
||||
// EnterObsGroupList is called when entering the obsGroupList production.
|
||||
EnterObsGroupList(c *ObsGroupListContext)
|
||||
|
||||
// EnterObsLocalPart is called when entering the obsLocalPart production.
|
||||
EnterObsLocalPart(c *ObsLocalPartContext)
|
||||
|
||||
// EnterObsDomain is called when entering the obsDomain production.
|
||||
EnterObsDomain(c *ObsDomainContext)
|
||||
|
||||
// EnterEncodedWord is called when entering the encodedWord production.
|
||||
EnterEncodedWord(c *EncodedWordContext)
|
||||
|
||||
// EnterCharset is called when entering the charset production.
|
||||
EnterCharset(c *CharsetContext)
|
||||
|
||||
// EnterEncoding is called when entering the encoding production.
|
||||
EnterEncoding(c *EncodingContext)
|
||||
|
||||
// EnterToken is called when entering the token production.
|
||||
EnterToken(c *TokenContext)
|
||||
|
||||
// EnterTokenChar is called when entering the tokenChar production.
|
||||
EnterTokenChar(c *TokenCharContext)
|
||||
|
||||
// EnterEncodedText is called when entering the encodedText production.
|
||||
EnterEncodedText(c *EncodedTextContext)
|
||||
|
||||
// EnterEncodedChar is called when entering the encodedChar production.
|
||||
EnterEncodedChar(c *EncodedCharContext)
|
||||
|
||||
// EnterCrlf is called when entering the crlf production.
|
||||
EnterCrlf(c *CrlfContext)
|
||||
|
||||
// EnterWsp is called when entering the wsp production.
|
||||
EnterWsp(c *WspContext)
|
||||
|
||||
// EnterVchar is called when entering the vchar production.
|
||||
EnterVchar(c *VcharContext)
|
||||
|
||||
// EnterAlpha is called when entering the alpha production.
|
||||
EnterAlpha(c *AlphaContext)
|
||||
|
||||
// ExitQuotedChar is called when exiting the quotedChar production.
|
||||
ExitQuotedChar(c *QuotedCharContext)
|
||||
|
||||
// ExitQuotedPair is called when exiting the quotedPair production.
|
||||
ExitQuotedPair(c *QuotedPairContext)
|
||||
|
||||
// ExitFws is called when exiting the fws production.
|
||||
ExitFws(c *FwsContext)
|
||||
|
||||
// ExitCtext is called when exiting the ctext production.
|
||||
ExitCtext(c *CtextContext)
|
||||
|
||||
// ExitCcontent is called when exiting the ccontent production.
|
||||
ExitCcontent(c *CcontentContext)
|
||||
|
||||
// ExitComment is called when exiting the comment production.
|
||||
ExitComment(c *CommentContext)
|
||||
|
||||
// ExitCfws is called when exiting the cfws production.
|
||||
ExitCfws(c *CfwsContext)
|
||||
|
||||
// ExitAtext is called when exiting the atext production.
|
||||
ExitAtext(c *AtextContext)
|
||||
|
||||
// ExitAtom is called when exiting the atom production.
|
||||
ExitAtom(c *AtomContext)
|
||||
|
||||
// ExitDotAtom is called when exiting the dotAtom production.
|
||||
ExitDotAtom(c *DotAtomContext)
|
||||
|
||||
// ExitQtext is called when exiting the qtext production.
|
||||
ExitQtext(c *QtextContext)
|
||||
|
||||
// ExitQuotedContent is called when exiting the quotedContent production.
|
||||
ExitQuotedContent(c *QuotedContentContext)
|
||||
|
||||
// ExitQuotedValue is called when exiting the quotedValue production.
|
||||
ExitQuotedValue(c *QuotedValueContext)
|
||||
|
||||
// ExitQuotedString is called when exiting the quotedString production.
|
||||
ExitQuotedString(c *QuotedStringContext)
|
||||
|
||||
// ExitWord is called when exiting the word production.
|
||||
ExitWord(c *WordContext)
|
||||
|
||||
// ExitDateTime is called when exiting the dateTime production.
|
||||
ExitDateTime(c *DateTimeContext)
|
||||
|
||||
// ExitDayOfweek is called when exiting the dayOfweek production.
|
||||
ExitDayOfweek(c *DayOfweekContext)
|
||||
|
||||
// ExitDayName is called when exiting the dayName production.
|
||||
ExitDayName(c *DayNameContext)
|
||||
|
||||
// ExitDay is called when exiting the day production.
|
||||
ExitDay(c *DayContext)
|
||||
|
||||
// ExitMonth is called when exiting the month production.
|
||||
ExitMonth(c *MonthContext)
|
||||
|
||||
// ExitYear is called when exiting the year production.
|
||||
ExitYear(c *YearContext)
|
||||
|
||||
// ExitHour is called when exiting the hour production.
|
||||
ExitHour(c *HourContext)
|
||||
|
||||
// ExitMinute is called when exiting the minute production.
|
||||
ExitMinute(c *MinuteContext)
|
||||
|
||||
// ExitSecond is called when exiting the second production.
|
||||
ExitSecond(c *SecondContext)
|
||||
|
||||
// ExitOffset is called when exiting the offset production.
|
||||
ExitOffset(c *OffsetContext)
|
||||
|
||||
// ExitZone is called when exiting the zone production.
|
||||
ExitZone(c *ZoneContext)
|
||||
|
||||
// ExitAddress is called when exiting the address production.
|
||||
ExitAddress(c *AddressContext)
|
||||
|
||||
// ExitMailbox is called when exiting the mailbox production.
|
||||
ExitMailbox(c *MailboxContext)
|
||||
|
||||
// ExitNameAddr is called when exiting the nameAddr production.
|
||||
ExitNameAddr(c *NameAddrContext)
|
||||
|
||||
// ExitAngleAddr is called when exiting the angleAddr production.
|
||||
ExitAngleAddr(c *AngleAddrContext)
|
||||
|
||||
// ExitGroup is called when exiting the group production.
|
||||
ExitGroup(c *GroupContext)
|
||||
|
||||
// ExitDisplayName is called when exiting the displayName production.
|
||||
ExitDisplayName(c *DisplayNameContext)
|
||||
|
||||
// ExitMailboxList is called when exiting the mailboxList production.
|
||||
ExitMailboxList(c *MailboxListContext)
|
||||
|
||||
// ExitAddressList is called when exiting the addressList production.
|
||||
ExitAddressList(c *AddressListContext)
|
||||
|
||||
// ExitGroupList is called when exiting the groupList production.
|
||||
ExitGroupList(c *GroupListContext)
|
||||
|
||||
// ExitAddrSpec is called when exiting the addrSpec production.
|
||||
ExitAddrSpec(c *AddrSpecContext)
|
||||
|
||||
// ExitLocalPart is called when exiting the localPart production.
|
||||
ExitLocalPart(c *LocalPartContext)
|
||||
|
||||
// ExitPort is called when exiting the port production.
|
||||
ExitPort(c *PortContext)
|
||||
|
||||
// ExitDomain is called when exiting the domain production.
|
||||
ExitDomain(c *DomainContext)
|
||||
|
||||
// ExitDomainLiteral is called when exiting the domainLiteral production.
|
||||
ExitDomainLiteral(c *DomainLiteralContext)
|
||||
|
||||
// ExitDtext is called when exiting the dtext production.
|
||||
ExitDtext(c *DtextContext)
|
||||
|
||||
// ExitObsNoWSCTL is called when exiting the obsNoWSCTL production.
|
||||
ExitObsNoWSCTL(c *ObsNoWSCTLContext)
|
||||
|
||||
// ExitObsCtext is called when exiting the obsCtext production.
|
||||
ExitObsCtext(c *ObsCtextContext)
|
||||
|
||||
// ExitObsQtext is called when exiting the obsQtext production.
|
||||
ExitObsQtext(c *ObsQtextContext)
|
||||
|
||||
// ExitObsQP is called when exiting the obsQP production.
|
||||
ExitObsQP(c *ObsQPContext)
|
||||
|
||||
// ExitObsFWS is called when exiting the obsFWS production.
|
||||
ExitObsFWS(c *ObsFWSContext)
|
||||
|
||||
// ExitObsZone is called when exiting the obsZone production.
|
||||
ExitObsZone(c *ObsZoneContext)
|
||||
|
||||
// ExitObsAngleAddr is called when exiting the obsAngleAddr production.
|
||||
ExitObsAngleAddr(c *ObsAngleAddrContext)
|
||||
|
||||
// ExitObsRoute is called when exiting the obsRoute production.
|
||||
ExitObsRoute(c *ObsRouteContext)
|
||||
|
||||
// ExitObsDomainList is called when exiting the obsDomainList production.
|
||||
ExitObsDomainList(c *ObsDomainListContext)
|
||||
|
||||
// ExitObsMboxList is called when exiting the obsMboxList production.
|
||||
ExitObsMboxList(c *ObsMboxListContext)
|
||||
|
||||
// ExitObsAddrList is called when exiting the obsAddrList production.
|
||||
ExitObsAddrList(c *ObsAddrListContext)
|
||||
|
||||
// ExitObsGroupList is called when exiting the obsGroupList production.
|
||||
ExitObsGroupList(c *ObsGroupListContext)
|
||||
|
||||
// ExitObsLocalPart is called when exiting the obsLocalPart production.
|
||||
ExitObsLocalPart(c *ObsLocalPartContext)
|
||||
|
||||
// ExitObsDomain is called when exiting the obsDomain production.
|
||||
ExitObsDomain(c *ObsDomainContext)
|
||||
|
||||
// ExitEncodedWord is called when exiting the encodedWord production.
|
||||
ExitEncodedWord(c *EncodedWordContext)
|
||||
|
||||
// ExitCharset is called when exiting the charset production.
|
||||
ExitCharset(c *CharsetContext)
|
||||
|
||||
// ExitEncoding is called when exiting the encoding production.
|
||||
ExitEncoding(c *EncodingContext)
|
||||
|
||||
// ExitToken is called when exiting the token production.
|
||||
ExitToken(c *TokenContext)
|
||||
|
||||
// ExitTokenChar is called when exiting the tokenChar production.
|
||||
ExitTokenChar(c *TokenCharContext)
|
||||
|
||||
// ExitEncodedText is called when exiting the encodedText production.
|
||||
ExitEncodedText(c *EncodedTextContext)
|
||||
|
||||
// ExitEncodedChar is called when exiting the encodedChar production.
|
||||
ExitEncodedChar(c *EncodedCharContext)
|
||||
|
||||
// ExitCrlf is called when exiting the crlf production.
|
||||
ExitCrlf(c *CrlfContext)
|
||||
|
||||
// ExitWsp is called when exiting the wsp production.
|
||||
ExitWsp(c *WspContext)
|
||||
|
||||
// ExitVchar is called when exiting the vchar production.
|
||||
ExitVchar(c *VcharContext)
|
||||
|
||||
// ExitAlpha is called when exiting the alpha production.
|
||||
ExitAlpha(c *AlphaContext)
|
||||
}
|
||||
Reference in New Issue
Block a user