====== Tips when using VisCCG ====== Here are some handy tips for making it easier to develop grammars with VisCCG. ===== Options to ccg2xml ===== ==== Different prefixes for your generated XML files ==== When you create the XML files from your ''.ccg'' specification, it adds the name of your grammar by default to the files. For example, if you have a file called ''tagalog.ccg'', the following is the default behavior: ~/devel/grammars/tagalog jbaldrid$ ls tagalog.ccg ~/devel/grammars/tagalog jbaldrid$ ccg2xml tagalog.ccg ccg2xml: Processing tagalog.ccg Outputting XML file: ./tagalog-lexicon.xml Outputting XML file: ./tagalog-grammar.xml Outputting XML file: ./tagalog-morph.xml Outputting XML file: ./tagalog-rules.xml Outputting XML file: ./tagalog-testbed.xml Outputting XML file: ./tagalog-types.xml ~/devel/grammars/tagalog jbaldrid$ ls tagalog-grammar.xml tagalog-rules.xml tagalog.ccg tagalog-lexicon.xml tagalog-testbed.xml tagalog-morph.xml tagalog-types.xml You can change the prefix by using the ''-p'' option to ''ccg2xml''. For example, say you want to save various versions of your grammar as you are working on it. You might do this: ~/devel/grammars/tagalog jbaldrid$ ccg2xml -p "tagalog-v2-" tagalog.ccg ccg2xml: Processing tagalog.ccg Outputting XML file: ./tagalog-v2-lexicon.xml Outputting XML file: ./tagalog-v2-grammar.xml Outputting XML file: ./tagalog-v2-morph.xml Outputting XML file: ./tagalog-v2-rules.xml Outputting XML file: ./tagalog-v2-testbed.xml Outputting XML file: ./tagalog-v2-types.xml This will be handy for creating HTML visualization with the ''ccg-grammardoc'' command, discussed below. ===== Generating HTML documentation from your grammar ===== There is a handy utility for visualizing your OpenCCG grammars in HTML called ''ccg-grammardoc'' (created by Scott Martin at Ohio State University). It assumes that the files you want to display have no prefixes, so they should be named ''grammar.xml'' rather than ''tagalog-grammar.xml'', for example. We can use the ''-p'' option to produce such files, as such: ~/devel/grammars/tagalog jbaldrid$ ccg2xml -p "" tagalog.ccg ccg2xml: Processing tagalog.ccg Outputting XML file: ./lexicon.xml Outputting XML file: ./grammar.xml Outputting XML file: ./morph.xml Outputting XML file: ./rules.xml Outputting XML file: ./testbed.xml Outputting XML file: ./types.xml Now you are ready to run ''ccg-grammardoc'': ~/devel/grammars/tagalog jbaldrid$ ccg-grammardoc -d tagalog_page [grammardoc] Creating directory /Users/jbaldrid/devel/grammars/tagalog/tagalog_page [grammardoc] Using GrammarDoc HTML Documenter [grammardoc] Documenting /Users/jbaldrid/devel/grammars/tagalog [grammardoc] Generating documentation to /Users/jbaldrid/devel/grammars/tagalog/tagalog_page [grammardoc] Parsing grammar.xml [grammardoc] Parsing lexicon.xml [grammardoc] Parsing morph.xml [grammardoc] Parsing rules.xml [grammardoc] Parsing types.xml [grammardoc] Writing /Users/jbaldrid/devel/grammars/tagalog/tagalog_page/grammardoc.css [grammardoc] Writing /Users/jbaldrid/devel/grammars/tagalog/tagalog_page/lexicon.js [grammardoc] Generating index.html [grammardoc] Generating lexicon.html [grammardoc] Generating morph.html [grammardoc] Generating rules.html [grammardoc] Generating types.html [grammardoc] Done This creates a webpage in the directory ''tagalog_page'' with the HTML produced from your grammar: ~/devel/grammars/tagalog jbaldrid$ ls tagalog_page/ grammardoc.css lexicon.html morph.html types.html index.html lexicon.js rules.html Look at ''index.html'' using a web browser to see what was produced.