Wiki‎ > ‎OpenCCG‎ > ‎

VisCCG Tips

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.
Comments