var v = new ObjcVisitor
+var failed_parsing = new Array[String]
for src in opts.rest do
# Read input
var content = src.preprocess_content
var pos = root.position
print_error "Syntax Error: {root.message}, at {pos or else ""}"
print_error "in {src}"
- if pos != null then
- var lines = content.split("\n")
- for line in [pos.line_start..pos.line_end] do
- print_error lines[line-1]
- end
-
- var ptr = " "*(pos.col_start-1).max(0) + "^"*(pos.col_end-pos.col_start)
- print_error ptr
- end
+ if pos != null then print_error pos.underline(content)
+ failed_parsing.add src
continue
end
var g = new CodeGenerator(v.model)
g.generate
+
+if failed_parsing.not_empty then
+ print_error "Failed to parse {failed_parsing.length}/{opts.rest.length} files:"
+ print_error failed_parsing.join(" ")
+end