-\r
- /**\r
- Separate the string and instore in set.\r
-\r
- <p> String is separated by Java Regulation Expression\r
- "[^\\\\]?(\".*?[^\\\\]\")[ \t,]+". </p>\r
-\r
- <p>For example: </p>\r
-\r
- <pre>\r
- "/nologo", "/W3", "/WX"\r
- "/C", "/DSTRING_DEFINES_FILE=\"BdsStrDefs.h\""\r
- </pre>\r
-\r
- @param set store the separated string\r
- @param str string to separate\r
- **/\r
- private void putFlagsToSet(Set<String> set, String str) {\r
- if (str == null || str.length() == 0) {\r
- return;\r
- }\r
-\r
- Pattern myPattern = Pattern.compile("[^\\\\]?(\".*?[^\\\\]\")[ \t,]+");\r
- Matcher matcher = myPattern.matcher(str + " ");\r
- while (matcher.find()) {\r
- String item = str.substring(matcher.start(1), matcher.end(1));\r
- set.add(item);\r
- }\r
- }\r
-\r
- /**\r
- Generate the final flags string will be used by compile command.\r
-\r
- @param add the add flags set\r
- @param sub the sub flags set\r
- @return final flags after add set substract sub set\r
- **/\r
- private String getFlags(Set<String> add, Set<String> sub) {\r
- String result = "";\r
- add.removeAll(sub);\r
- Iterator iter = add.iterator();\r
- while (iter.hasNext()) {\r
- String str = (String) iter.next();\r
- result += str.substring(1, str.length() - 1) + " ";\r
- }\r
- return result;\r
- }\r
-\r