OSDN Git Service

アウトライン解析処理を修正
authorbatxo <batxo@users.sourceforge.jp>
Thu, 16 Dec 2010 15:31:03 +0000 (00:31 +0900)
committerbatxo <batxo@users.sourceforge.jp>
Thu, 16 Dec 2010 15:31:03 +0000 (00:31 +0900)
META-INF/MANIFEST.MF
src/coboled/editors/CobolParser.java

index 4f7d38f..31a0d5e 100644 (file)
@@ -8,5 +8,7 @@ Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.jface.text,
  org.eclipse.ui.editors,
- org.eclipse.ui.views
+ org.eclipse.ui.views,
+ org.eclipse.core.resources,
+ org.eclipse.ui.ide
 Eclipse-LazyStart: true
index 6827ac8..d9aebc7 100644 (file)
@@ -17,11 +17,11 @@ public class CobolParser {
                        CobolElement work = root;
                        while ((line = reader.readLine()) != null) {
                                // 部の記述があった場合
-                               Pattern pattern = Pattern.compile("^.{6}\\s\\s{0,3}([^\\s]*)\\s+(DIVISION)\\.", Pattern.CASE_INSENSITIVE);
+                               Pattern pattern = Pattern.compile("^.{6}\\s\\s{0,3}([^\\s]*)\\s+(DIVISION)(.*)\\.", Pattern.CASE_INSENSITIVE);
                                Matcher matcher = pattern.matcher(line);
                                boolean match = matcher.matches();
                                if (match) {
-                                       String name = matcher.group(1) + " " + matcher.group(2); 
+                                       String name = matcher.group(1).trim() + " " + matcher.group(2).trim(); 
                                        CobolElement element = new CobolElement(name, CobolElementType.DIVISION);
                                        CobolElement parent = getParentElement(work, element);
                                        element.setParent(parent);
@@ -33,11 +33,11 @@ public class CobolParser {
                                }
 
                                // 節の記述があった場合
-                               Pattern pattern2 = Pattern.compile("^.{6}\\s\\s{0,3}([^\\s]*)\\s+(SECTION)\\.", Pattern.CASE_INSENSITIVE);
+                               Pattern pattern2 = Pattern.compile("^.{6}\\s\\s{0,3}([^\\s]*)\\s+(SECTION)(.*)\\.", Pattern.CASE_INSENSITIVE);
                                Matcher matcher2 = pattern2.matcher(line);
                                boolean match2 = matcher2.matches();
                                if (match2) {
-                                       String name = matcher2.group(1) + " " + matcher2.group(2);
+                                       String name = matcher2.group(1).trim() + " " + matcher2.group(2).trim();
                                        CobolElement element = new CobolElement(name, CobolElementType.SECTION);
                                        CobolElement parent = getParentElement(work, element);
                                        element.setParent(parent);
@@ -49,11 +49,11 @@ public class CobolParser {
                                }
                                
                                // データ定義
-                               Pattern pattern4 = Pattern.compile("^.{6}\\s\\s{0,3}([0-9][0-9]\\s+[^\\s]*)(.*)", Pattern.CASE_INSENSITIVE);
-                               Matcher matcher4 = pattern4.matcher(line);
-                               boolean match4 = matcher4.matches();
-                               if (match4) {
-                                       String name = matcher4.group(1);
+                               Pattern pattern3 = Pattern.compile("^.{6}\\s\\s{0,3}([0-9][0-9])\\s+([^\\s]*)(.*)", Pattern.CASE_INSENSITIVE);
+                               Matcher matcher3 = pattern3.matcher(line);
+                               boolean match3 = matcher3.matches();
+                               if (match3) {
+                                       String name = matcher3.group(1).trim() + " " + matcher3.group(2).trim();
                                        CobolElement element = new CobolElement(name, CobolElementType.DATA);
                                        CobolElement parent = getParentElement(work, element);
                                        element.setParent(parent);
@@ -65,12 +65,12 @@ public class CobolParser {
                                }
                                
                                // 段落
-                               Pattern pattern3 = Pattern.compile("^.{6}\\s\\s{0,3}([^\\s]+)\\s*(.*)", Pattern.CASE_INSENSITIVE);
-                               Matcher matcher3 = pattern3.matcher(line);
-                               boolean match3 = matcher3.matches();
-                               if (match3) {
-                                       String name = matcher3.group(1);
-                                       if(name.indexOf("-EXIT") == -1) {
+                               Pattern pattern4 = Pattern.compile("^.{6}\\s\\s{0,3}([^\\s]+)\\s*(.*)", Pattern.CASE_INSENSITIVE);
+                               Matcher matcher4 = pattern4.matcher(line);
+                               boolean match4 = matcher4.matches();
+                               if (match4) {
+                                       String name = matcher4.group(1).trim();
+                                       if(name.indexOf("EXIT") == -1) {
                                                CobolElement element = new CobolElement(name, CobolElementType.PARAGRAPH);
                                                CobolElement parent = getParentElement(work, element);
                                                element.setParent(parent);