-
Notifications
You must be signed in to change notification settings - Fork 3
MatrixDevTop
This wiki is a reference for Grammar Matrix developers. Users of the Grammar Matrix should start from MatrixTop.
Below we have information about the [#repository SVN repository], [#configuration configuration], the [#directory directory structure], and [#links other links].
A collection of documentation regarding the Matrix project, aimed at Matrix developers.
-
["MatrixTDBProcedures"] (Current as of Sept 2009, for MatrixTDB2)
-
["MatrixTDB2Tables"] (2009 version switched to MatrixTDB2 from MatrixTDB)
-
["matrixdef File Syntax"]
-
["Updating the Customization System"]
svn co svn://lemur.ling.washington.edu/shared/matrix matrix
Note that you need to be granted permission to read or write to/from this repository. Speak to David Brodbeck (linghelp@) or Emily Bender (ebender@) about getting permissions. (Both email addresses above have u.washington.edu as the domain)
Several matrix.py commands (such as "install", "vivify", and "regression-test") require CUSTOMIZATIONROOT be set as an environment variable, with the value being the "gmcs" directory of the Matrix branch being used. The purpose is so the scripts can reliably find the files necessary for processing. For example:
export CUSTOMIZATIONROOT=~/matrix/trunk/gmcs
or
export CUSTOMIZATIONROOT=~/matrix/branches/mybranch/gmcs
This command may be run in a terminal (note: it will be set only for the current session) or put into ~/.bashrc (be sure to run .bashrc or start a new session so it will be set).
Alternatively, you can use the --customizationroot (short form: -C) option of matrix.py (use "matrix.py --help" for more information). For example:
python matrix.py --customizationroot=gmcs/ regression-test
or
python matrix.py -C gmcs/ regression-test
If you get the repository using the command [#repository above], you will see three subdirectories: branches, tags, and trunk. Each of these contain a copy of the Matrix code (a "branch"), but "trunk" is the official version, "tags" contains frozen snapshots (e.g. the version used for a dissertation, etc.), and "branches" contains development versions. The directory structure detailed below explains the directories and files for a single branch (e.g. in trunk):
doc/ [publications and documents related to the system]
gmcs/ [most of the code resides here]
80proof/ [grammars used in the 80proof paper]
harvest/ []
lib/ [Python libraries for internal code]
hierarchy.py [module for type hierarchies]
tdlhierarchy.py [module for tdl hierarchies]
linglib/ [Libraries for linguistic phenomena]
tests/ [unit tests for linglib]
argument_optionality.py
case.py
direct_inverse.py
lexbase.py [classes shared by lexicon.py and morphotactics.py]
lexicon.py
morphotactics.py
negation.py
profile/ []
profiles/ []
regression-tests/ [code and resources for regression testing]
sample-choices/ [sample choices files displayed on the live site]
sql_profiles/ []
string_lists/ []
templates/ []
tests/ [unit tests for the general system]
web/ [intended place for web questionnaire related files]
choices.py [classes for working with choices files]
customize.py [primary code for customizing grammars]
def_check.py [module to check matrixdef]
deffile.py [module to interpret matrixdef for web presentation]
generate.py [module to aid in test-by-generation]
__init__.py [gmcs packaging module]
kickoff.sh []
matrix.cgi [CGI script to handle web requests]
matrix.css [style file for the questionnaire]
matrixdef [website content definition]
matrix.js [website-related functions]
profiles.py []
randgram.py [out-of-date script to create a semi-random grammar]
tdl.py [module for dealing with TDL files]
tdltest.py [code to test tdl.py. Should probably be folded into unit tests]
utils.py [module with various helper functions]
validate.py [module to validate a choices file]
gmmt/ [resources for the "massively multilingual translation" task]
lisp/ [various lisp scripts for Developers]
matrix-core/ [the Matrix grammar files]
modules/ [snippets of TDL and notes about analyses]
install [bash script for installing the code (e.g. to the live site)]
matrix.py [Python script for running customize, tests, install, etc.]
Home | Forum | Discussions | Events