public static void accumulateXrefs(String fileName, boolean verbose) throws Exception {
		Matcher md, mr;
		try (BufferedReader is = new BufferedReader(new FileReader(fileName))) {
			String line = null;
			int lineNumber = 0;
			while ((line = is.readLine()) != null) {
				++lineNumber;
				if (line.length() == 0) {
					continue;
				}
				// Decls occur on a line by themselves
				if (line.startsWith("[[")) {
					md = decl.matcher(line);
					if (!md.find()) {
						System.out.println("Misformed label: " + line);
						continue;
					}
					decls.add(md.group(1));
					if (verbose)
						System.out.println("decl:" + md.group(1));
					continue;
				}
				// Not a decl, see if any refs in this line
				mr = ref.matcher(line);
				while (mr.find()) {
					String ref = mr.group(1);
					refs.put(ref, fileName + ":" + lineNumber);
					if (verbose)
						System.out.println("ref: " + mr.group(1));
				}
			}
		}
	}