14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/junoser/parser.rb', line 14
def parse_line(line, lines_without_deactivate)
if line =~ /^deactivate/
if lines_without_deactivate.grep(/^#{line.sub(/^deactivate/, 'set')}/).empty?
$stderr.puts %(Corresponding "set" statement is not found: #{line})
return false
else
return true
end
end
begin
if line =~ /(.*)\s+apply-groups(-except)?\s+(\S+|\[.*\])$/
return $1 == 'set' ? true : parse($1)
end
parse line
true
rescue Parslet::ParseFailed
$stderr.puts "Invalid syntax: #{line}"
false
end
end
|