# File lib/mail/parsers/mime_version.rb, line 42
42: def _nt_version
43: start_index = index
44: if node_cache[:version].has_key?(index)
45: cached = node_cache[:version][index]
46: if cached
47: cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
48: @index = cached.interval.end
49: end
50: return cached
51: end
52:
53: i0, s0 = index, []
54: r1 = _nt_CFWS
55: s0 << r1
56: if r1
57: s2, i2 = [], index
58: loop do
59: r3 = _nt_DIGIT
60: if r3
61: s2 << r3
62: else
63: break
64: end
65: end
66: if s2.empty?
67: @index = i2
68: r2 = nil
69: else
70: r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
71: end
72: s0 << r2
73: if r2
74: r5 = _nt_comment
75: if r5
76: r4 = r5
77: else
78: r4 = instantiate_node(SyntaxNode,input, index...index)
79: end
80: s0 << r4
81: if r4
82: if has_terminal?(".", false, index)
83: r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
84: @index += 1
85: else
86: terminal_parse_failure(".")
87: r6 = nil
88: end
89: s0 << r6
90: if r6
91: r8 = _nt_comment
92: if r8
93: r7 = r8
94: else
95: r7 = instantiate_node(SyntaxNode,input, index...index)
96: end
97: s0 << r7
98: if r7
99: s9, i9 = [], index
100: loop do
101: r10 = _nt_DIGIT
102: if r10
103: s9 << r10
104: else
105: break
106: end
107: end
108: if s9.empty?
109: @index = i9
110: r9 = nil
111: else
112: r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
113: end
114: s0 << r9
115: if r9
116: r11 = _nt_CFWS
117: s0 << r11
118: end
119: end
120: end
121: end
122: end
123: end
124: if s0.last
125: r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
126: r0.extend(Version0)
127: r0.extend(Version1)
128: else
129: @index = i0
130: r0 = nil
131: end
132:
133: node_cache[:version][start_index] = r0
134:
135: r0
136: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.