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.

 
openccg/visccg_tips.txt · Last modified: 2007/04/17 11:51 by jason
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki