package com.spbsu.crawl.utils; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.HashSet; import java.util.Scanner; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * User: Noxoomo * Date: 30.04.16 * Time: 21:47 */ public class GenerateCppEnumWriter { public static void main(String[] args) { try { Scanner reader = new Scanner(new BufferedInputStream(new FileInputStream("enum_lines"))); Pattern enumNamePatter = Pattern.compile("([A-Z_0-9]+)"); Set<String> enumValues = new HashSet<>(); while (reader.hasNext()) { String line = reader.nextLine(); if (line.length() == 0 || line.charAt(0) == '#' || !line.contains("_")) { continue; } Matcher matcher = enumNamePatter.matcher(line); if (matcher.find()) { enumValues.add(matcher.group(0)); } } for (String enumValue : enumValues) { System.out.println("out << \"" + enumValue + " : \" << " + enumValue + " << std::endl;"); } } catch (FileNotFoundException e) { e.printStackTrace(); } } }