(Grammar g)
| 673 | } |
| 674 | |
| 675 | public void generateATNs(Grammar g) { |
| 676 | DOTGenerator dotGenerator = new DOTGenerator(g); |
| 677 | List<Grammar> grammars = new ArrayList<Grammar>(); |
| 678 | grammars.add(g); |
| 679 | List<Grammar> imported = g.getAllImportedGrammars(); |
| 680 | if ( imported!=null ) grammars.addAll(imported); |
| 681 | for (Grammar ig : grammars) { |
| 682 | for (Rule r : ig.rules.values()) { |
| 683 | try { |
| 684 | String dot = dotGenerator.getDOT(g.atn.ruleToStartState[r.index], g.isLexer()); |
| 685 | if (dot != null) { |
| 686 | writeDOTFile(g, r, dot); |
| 687 | } |
| 688 | } |
| 689 | catch (IOException ioe) { |
| 690 | errMgr.toolError(ErrorType.CANNOT_WRITE_FILE, ioe); |
| 691 | } |
| 692 | } |
| 693 | } |
| 694 | } |
| 695 | |
| 696 | public static String generateInterpreterData(Grammar g) { |
| 697 | StringBuilder content = new StringBuilder(); |
no test coverage detected