{
	"0: data": {
		"srcIndexStart": "0", 
		"file": "docssrc/docs.Tools.StaticLang.tmpl", 
		"parseTreeMode": "true", 
		"srcLength": "4833", 
		"source": "[$name|StaticLang$]
[$title|StaticLang$]
[$frame|HTMLPage.tmpl$]
<p>
Generates a language package from a
[$pageLink|CGT | CGT file $]
that can be embedded directly into a D program and used in either
[$pageLink|StatVsDyn|static-style$] or [$pageLink|StatVsDyn|dynamic-style$].
</p>

<h3>Example:</h3>
<p>
Suppose you have a program [$ident|MyApp$] with a directory structure like this:
</p>
<div class=\"code-plain\">[:MyAppProject
 |
 +-- src  :][$code|comment|(all D sources in here)$][:
 |    |
 |    \\-- myapp        :][$code|comment|(package \"myapp.*\")$][:
 |         |
 |         +-- mylang  :][$code|comment|(empty directory)$][:
 |         |    |
 |         |    \\--
 |         |
 |         \\-- main.d  :][$code|comment|(\"module myapp.main;\")$][:
 |
 \\-- langs
      |
      +-- mylang.grm
      \\-- mylang.cgt  :][$code|comment|(created by either GRMC or GOLD Parser Builder)$]        
</div>
<p>
And you want to use [$ident|mylang$] in [$pageLink|StatVsDyn|static-style$]
(or you want to use it [$pageLink|StatVsDyn|dynamic-style$] but have it built
directly into [$ident|MyApp$] instead of loading the CGT at runtime).
</p>
<p>
Run this command from the [$code|inline|MyAppProject$] directory:
</p>
<div class=\"code-plain\">&gt;[$code|user| goldie-staticlang langs/mylang.cgt -dir:src -pack:myapp.mylang $]</div>
<p>
StaticLang will create some [$code|inline|*.d$] files inside [$code|inline|src/myapp/mylang/$].
So now your project looks like this:
</p>
<div class=\"code-plain\">[:MyAppProject
 |
 +-- src  :][$code|comment|(all D sources in here)$][:
 |    |
 |    \\-- myapp                   :][$code|comment|(package \"myapp.*\")$][:
 |         |
 |         +-- mylang             :][$code|comment|(package \"myapp.mylang.*\")$][:
 |         |    |
 |         |    +-- all.d         :][$code|comment|(module \"myapp.mylang.all\")$][:
 |         |    +-- lang.d        :][$code|comment|(module \"myapp.mylang.lang\")$][:
 |         |    +-- langHelper.d  :][$code|comment|(module \"myapp.mylang.langHelper\")$][:
 |         |    +-- lexer.d       :][$code|comment|(module \"myapp.mylang.lexer\")$][:
 |         |    +-- parser.d      :][$code|comment|(module \"myapp.mylang.parser\")$][:
 |         |    \\-- token.d       :][$code|comment|(module \"myapp.mylang.token\")$][:
 |         |
 |         \\-- main.d             :][$code|comment|(module \"myapp.main\")$][:
 |
 \\-- langs
      |
      +-- mylang.grm
      \\-- mylang.cgt  :][$code|comment|(created by either GRMC or GOLD Parser Builder)$]
</div>
<p>
Then, to use the language
(in either [$pageLink|StatVsDyn|static-style$] or [$pageLink|StatVsDyn|dynamic-style$]),
include these lines in [$code|inline|src/myapp/main.d$]:
</p>
[$code|highlight|
import goldie.all;
import myapp.mylang.all;
$]
<p>
And then use the [$typeName|Language_{languageName}$] named [$code|inline|language_mylang$],
like this:
</p>
[$code|highlight|
[:module myapp;
import goldie.all;
import myapp.mylang.all;

void main()
{
	auto source = \"...source code in 'mylang' language here...\";
	
	// Static-style:
	auto rootTokenStatic = language_mylang.parseCode(src).parseTree;
	
	// Dynamic-style:
	auto rootTokenDynamic = language_mylang.parseCodeX(src).parseTreeX;
	
	// rootTokenStatic is of type: Token_mylang!\"<mylang's start symbol>\"
	//    (Look up 'Token_{languageName}!{symbol}' in Goldie's API Reference)
	
	// rootTokenDynamic is of type: Token
}:]
$]
<p>
You can also use [$pageLink|Language#Language_parseFile|parseFile$] and
[$pageLink|Language#Language_parseFileX|parseFileX$] if you want to
parse a file instead of just a string.
</p>
<p>
For an example of actually using the resulting parse tree, see the source code
for the [$pageTitle|SampleApps$] and the examples on the [$pageTitle|StatVsDyn$]
page.
</p>
<p>
If later on you change the [$ident|mylang$] grammar, just recompile it to CGT
with [$pageTitle|GRMC$] or [$pageLink|OtherTools#GOLD|GOLD Parser Builder$],
and then re-run the StaticLang command above.
</p>

<h3>Command-line parameters:</h3>
[$code|plain|
[:Sample Usage:
  goldie-staticlang langs/lang.cgt
      Creates \"goldie/staticlang/lang/*.d\", each
      containing \"module goldie.staticlang.lang.*;\"

  goldie-staticlang langs/lang.cgt -dir:foo/src -pack:myapp.mylang
      Creates \"foo/src/myapp/mylang/*.d\", each
      containing \"module myapp.mylang.*;\"

Switches:
(Prefixes can be '/', '-' or '--')
('[]' means multiple switches are accepted)
  -help        Displays a help summary and exits
  -detail      Displays a detailed help message and exits
  <text>       (Required) CGT language file to use
  -pack:<text> Name of output package (default: goldie.staticlang.{cgt})
  -dir:<text>  Directory of package root (default: current directory):]
$]

<h3 class=\"list-heading\">See Also:</h3>
<ul>
<li>[$pageTitle|StatVsDyn$]</li>
<li>[$pageTitle|DevStaticLang$]</li>
</ul>
", 
		"0: name": {
			"srcIndexStart": "0", 
			"data": "StaticLang", 
			"srcLength": "19", 
			"0: data": {
				"srcIndexStart": "7", 
				"data": "StaticLang", 
				"srcLength": "10"
			}
		}, 
		"1: data": {
			"srcIndexStart": "19", 
			"data": "
", 
			"srcLength": "1"
		}, 
		"2: title": {
			"srcIndexStart": "20", 
			"data": "StaticLang", 
			"srcLength": "20", 
			"0: data": {
				"srcIndexStart": "28", 
				"data": "StaticLang", 
				"srcLength": "10"
			}
		}, 
		"3: data": {
			"srcIndexStart": "40", 
			"data": "
", 
			"srcLength": "1"
		}, 
		"4: frame": {
			"srcIndexStart": "41", 
			"data": "HTMLPage.tmpl", 
			"srcLength": "23", 
			"0: data": {
				"srcIndexStart": "49", 
				"data": "HTMLPage.tmpl", 
				"srcLength": "13"
			}
		}, 
		"5: data": {
			"srcIndexStart": "64", 
			"data": "
<p>
Generates a language package from a
", 
			"srcLength": "41"
		}, 
		"6: pageLink": {
			"srcIndexStart": "105", 
			"param 0": "CGT", 
			"data": "CGT file", 
			"srcLength": "28", 
			"0: data": {
				"srcIndexStart": "121", 
				"data": "CGT file", 
				"srcLength": "10"
			}
		}, 
		"7: data": {
			"srcIndexStart": "133", 
			"data": "
that can be embedded directly into a D program and used in either
", 
			"srcLength": "67"
		}, 
		"8: pageLink": {
			"srcIndexStart": "200", 
			"param 0": "StatVsDyn", 
			"data": "static-style", 
			"srcLength": "35", 
			"0: data": {
				"srcIndexStart": "221", 
				"data": "static-style", 
				"srcLength": "12"
			}
		}, 
		"9: data": {
			"srcIndexStart": "235", 
			"data": " or ", 
			"srcLength": "4"
		}, 
		"10: pageLink": {
			"srcIndexStart": "239", 
			"param 0": "StatVsDyn", 
			"data": "dynamic-style", 
			"srcLength": "36", 
			"0: data": {
				"srcIndexStart": "260", 
				"data": "dynamic-style", 
				"srcLength": "13"
			}
		}, 
		"11: data": {
			"srcIndexStart": "275", 
			"data": ".
</p>

<h3>Example:</h3>
<p>
Suppose you have a program ", 
			"srcLength": "57"
		}, 
		"12: ident": {
			"srcIndexStart": "332", 
			"data": "MyApp", 
			"srcLength": "15", 
			"0: data": {
				"srcIndexStart": "340", 
				"data": "MyApp", 
				"srcLength": "5"
			}
		}, 
		"13: data": {
			"srcIndexStart": "347", 
			"data": " with a directory structure like this:
</p>
<div class=\"code-plain\">", 
			"srcLength": "68"
		}, 
		"14: data": {
			"srcIndexStart": "415", 
			"data": "MyAppProject
 |
 +-- src  ", 
			"srcLength": "30"
		}, 
		"15: code": {
			"srcIndexStart": "445", 
			"param 0": "comment", 
			"data": "(all D sources in here)", 
			"srcLength": "40", 
			"0: data": {
				"srcIndexStart": "460", 
				"data": "(all D sources in here)", 
				"srcLength": "23"
			}
		}, 
		"16: data": {
			"srcIndexStart": "485", 
			"data": "
 |    |
 |    \\-- myapp        ", 
			"srcLength": "36"
		}, 
		"17: code": {
			"srcIndexStart": "521", 
			"param 0": "comment", 
			"data": "(package \"myapp.*\")", 
			"srcLength": "36", 
			"0: data": {
				"srcIndexStart": "536", 
				"data": "(package \"myapp.*\")", 
				"srcLength": "19"
			}
		}, 
		"18: data": {
			"srcIndexStart": "557", 
			"data": "
 |         |
 |         +-- mylang  ", 
			"srcLength": "41"
		}, 
		"19: code": {
			"srcIndexStart": "598", 
			"param 0": "comment", 
			"data": "(empty directory)", 
			"srcLength": "34", 
			"0: data": {
				"srcIndexStart": "613", 
				"data": "(empty directory)", 
				"srcLength": "17"
			}
		}, 
		"20: data": {
			"srcIndexStart": "632", 
			"data": "
 |         |    |
 |         |    \\--
 |         |
 |         \\-- main.d  ", 
			"srcLength": "79"
		}, 
		"21: code": {
			"srcIndexStart": "711", 
			"param 0": "comment", 
			"data": "(\"module myapp.main;\")", 
			"srcLength": "39", 
			"0: data": {
				"srcIndexStart": "726", 
				"data": "(\"module myapp.main;\")", 
				"srcLength": "22"
			}
		}, 
		"22: data": {
			"srcIndexStart": "750", 
			"data": "
 |
 \\-- langs
      |
      +-- mylang.grm
      \\-- mylang.cgt  ", 
			"srcLength": "70"
		}, 
		"23: code": {
			"srcIndexStart": "820", 
			"param 0": "comment", 
			"data": "(created by either GRMC or GOLD Parser Builder)", 
			"srcLength": "64", 
			"0: data": {
				"srcIndexStart": "835", 
				"data": "(created by either GRMC or GOLD Parser Builder)", 
				"srcLength": "47"
			}
		}, 
		"24: data": {
			"srcIndexStart": "884", 
			"data": "        
</div>
<p>
And you want to use ", 
			"srcLength": "40"
		}, 
		"25: ident": {
			"srcIndexStart": "924", 
			"data": "mylang", 
			"srcLength": "16", 
			"0: data": {
				"srcIndexStart": "932", 
				"data": "mylang", 
				"srcLength": "6"
			}
		}, 
		"26: data": {
			"srcIndexStart": "940", 
			"data": " in ", 
			"srcLength": "4"
		}, 
		"27: pageLink": {
			"srcIndexStart": "944", 
			"param 0": "StatVsDyn", 
			"data": "static-style", 
			"srcLength": "35", 
			"0: data": {
				"srcIndexStart": "965", 
				"data": "static-style", 
				"srcLength": "12"
			}
		}, 
		"28: data": {
			"srcIndexStart": "979", 
			"data": "
(or you want to use it ", 
			"srcLength": "24"
		}, 
		"29: pageLink": {
			"srcIndexStart": "1003", 
			"param 0": "StatVsDyn", 
			"data": "dynamic-style", 
			"srcLength": "36", 
			"0: data": {
				"srcIndexStart": "1024", 
				"data": "dynamic-style", 
				"srcLength": "13"
			}
		}, 
		"30: data": {
			"srcIndexStart": "1039", 
			"data": " but have it built
directly into ", 
			"srcLength": "33"
		}, 
		"31: ident": {
			"srcIndexStart": "1072", 
			"data": "MyApp", 
			"srcLength": "15", 
			"0: data": {
				"srcIndexStart": "1080", 
				"data": "MyApp", 
				"srcLength": "5"
			}
		}, 
		"32: data": {
			"srcIndexStart": "1087", 
			"data": " instead of loading the CGT at runtime).
</p>
<p>
Run this command from the ", 
			"srcLength": "76"
		}, 
		"33: code": {
			"srcIndexStart": "1163", 
			"param 0": "inline", 
			"data": "MyAppProject", 
			"srcLength": "28", 
			"0: data": {
				"srcIndexStart": "1177", 
				"data": "MyAppProject", 
				"srcLength": "12"
			}
		}, 
		"34: data": {
			"srcIndexStart": "1191", 
			"data": " directory:
</p>
<div class=\"code-plain\">&gt;", 
			"srcLength": "45"
		}, 
		"35: code": {
			"srcIndexStart": "1236", 
			"param 0": "user", 
			"data": "goldie-staticlang langs/mylang.cgt -dir:src -pack:myapp.mylang", 
			"srcLength": "78", 
			"0: data": {
				"srcIndexStart": "1248", 
				"data": "goldie-staticlang langs/mylang.cgt -dir:src -pack:myapp.mylang", 
				"srcLength": "64"
			}
		}, 
		"36: data": {
			"srcIndexStart": "1314", 
			"data": "</div>
<p>
StaticLang will create some ", 
			"srcLength": "39"
		}, 
		"37: code": {
			"srcIndexStart": "1353", 
			"param 0": "inline", 
			"data": "*.d", 
			"srcLength": "19", 
			"0: data": {
				"srcIndexStart": "1367", 
				"data": "*.d", 
				"srcLength": "3"
			}
		}, 
		"38: data": {
			"srcIndexStart": "1372", 
			"data": " files inside ", 
			"srcLength": "14"
		}, 
		"39: code": {
			"srcIndexStart": "1386", 
			"param 0": "inline", 
			"data": "src/myapp/mylang/", 
			"srcLength": "33", 
			"0: data": {
				"srcIndexStart": "1400", 
				"data": "src/myapp/mylang/", 
				"srcLength": "17"
			}
		}, 
		"40: data": {
			"srcIndexStart": "1419", 
			"data": ".
So now your project looks like this:
</p>
<div class=\"code-plain\">", 
			"srcLength": "68"
		}, 
		"41: data": {
			"srcIndexStart": "1487", 
			"data": "MyAppProject
 |
 +-- src  ", 
			"srcLength": "30"
		}, 
		"42: code": {
			"srcIndexStart": "1517", 
			"param 0": "comment", 
			"data": "(all D sources in here)", 
			"srcLength": "40", 
			"0: data": {
				"srcIndexStart": "1532", 
				"data": "(all D sources in here)", 
				"srcLength": "23"
			}
		}, 
		"43: data": {
			"srcIndexStart": "1557", 
			"data": "
 |    |
 |    \\-- myapp                   ", 
			"srcLength": "47"
		}, 
		"44: code": {
			"srcIndexStart": "1604", 
			"param 0": "comment", 
			"data": "(package \"myapp.*\")", 
			"srcLength": "36", 
			"0: data": {
				"srcIndexStart": "1619", 
				"data": "(package \"myapp.*\")", 
				"srcLength": "19"
			}
		}, 
		"45: data": {
			"srcIndexStart": "1640", 
			"data": "
 |         |
 |         +-- mylang             ", 
			"srcLength": "52"
		}, 
		"46: code": {
			"srcIndexStart": "1692", 
			"param 0": "comment", 
			"data": "(package \"myapp.mylang.*\")", 
			"srcLength": "43", 
			"0: data": {
				"srcIndexStart": "1707", 
				"data": "(package \"myapp.mylang.*\")", 
				"srcLength": "26"
			}
		}, 
		"47: data": {
			"srcIndexStart": "1735", 
			"data": "
 |         |    |
 |         |    +-- all.d         ", 
			"srcLength": "57"
		}, 
		"48: code": {
			"srcIndexStart": "1792", 
			"param 0": "comment", 
			"data": "(module \"myapp.mylang.all\")", 
			"srcLength": "44", 
			"0: data": {
				"srcIndexStart": "1807", 
				"data": "(module \"myapp.mylang.all\")", 
				"srcLength": "27"
			}
		}, 
		"49: data": {
			"srcIndexStart": "1836", 
			"data": "
 |         |    +-- lang.d        ", 
			"srcLength": "39"
		}, 
		"50: code": {
			"srcIndexStart": "1875", 
			"param 0": "comment", 
			"data": "(module \"myapp.mylang.lang\")", 
			"srcLength": "45", 
			"0: data": {
				"srcIndexStart": "1890", 
				"data": "(module \"myapp.mylang.lang\")", 
				"srcLength": "28"
			}
		}, 
		"51: data": {
			"srcIndexStart": "1920", 
			"data": "
 |         |    +-- langHelper.d  ", 
			"srcLength": "39"
		}, 
		"52: code": {
			"srcIndexStart": "1959", 
			"param 0": "comment", 
			"data": "(module \"myapp.mylang.langHelper\")", 
			"srcLength": "51", 
			"0: data": {
				"srcIndexStart": "1974", 
				"data": "(module \"myapp.mylang.langHelper\")", 
				"srcLength": "34"
			}
		}, 
		"53: data": {
			"srcIndexStart": "2010", 
			"data": "
 |         |    +-- lexer.d       ", 
			"srcLength": "39"
		}, 
		"54: code": {
			"srcIndexStart": "2049", 
			"param 0": "comment", 
			"data": "(module \"myapp.mylang.lexer\")", 
			"srcLength": "46", 
			"0: data": {
				"srcIndexStart": "2064", 
				"data": "(module \"myapp.mylang.lexer\")", 
				"srcLength": "29"
			}
		}, 
		"55: data": {
			"srcIndexStart": "2095", 
			"data": "
 |         |    +-- parser.d      ", 
			"srcLength": "39"
		}, 
		"56: code": {
			"srcIndexStart": "2134", 
			"param 0": "comment", 
			"data": "(module \"myapp.mylang.parser\")", 
			"srcLength": "47", 
			"0: data": {
				"srcIndexStart": "2149", 
				"data": "(module \"myapp.mylang.parser\")", 
				"srcLength": "30"
			}
		}, 
		"57: data": {
			"srcIndexStart": "2181", 
			"data": "
 |         |    \\-- token.d       ", 
			"srcLength": "39"
		}, 
		"58: code": {
			"srcIndexStart": "2220", 
			"param 0": "comment", 
			"data": "(module \"myapp.mylang.token\")", 
			"srcLength": "46", 
			"0: data": {
				"srcIndexStart": "2235", 
				"data": "(module \"myapp.mylang.token\")", 
				"srcLength": "29"
			}
		}, 
		"59: data": {
			"srcIndexStart": "2266", 
			"data": "
 |         |
 |         \\-- main.d             ", 
			"srcLength": "52"
		}, 
		"60: code": {
			"srcIndexStart": "2318", 
			"param 0": "comment", 
			"data": "(module \"myapp.main\")", 
			"srcLength": "38", 
			"0: data": {
				"srcIndexStart": "2333", 
				"data": "(module \"myapp.main\")", 
				"srcLength": "21"
			}
		}, 
		"61: data": {
			"srcIndexStart": "2356", 
			"data": "
 |
 \\-- langs
      |
      +-- mylang.grm
      \\-- mylang.cgt  ", 
			"srcLength": "70"
		}, 
		"62: code": {
			"srcIndexStart": "2426", 
			"param 0": "comment", 
			"data": "(created by either GRMC or GOLD Parser Builder)", 
			"srcLength": "64", 
			"0: data": {
				"srcIndexStart": "2441", 
				"data": "(created by either GRMC or GOLD Parser Builder)", 
				"srcLength": "47"
			}
		}, 
		"63: data": {
			"srcIndexStart": "2490", 
			"data": "
</div>
<p>
Then, to use the language
(in either ", 
			"srcLength": "49"
		}, 
		"64: pageLink": {
			"srcIndexStart": "2539", 
			"param 0": "StatVsDyn", 
			"data": "static-style", 
			"srcLength": "35", 
			"0: data": {
				"srcIndexStart": "2560", 
				"data": "static-style", 
				"srcLength": "12"
			}
		}, 
		"65: data": {
			"srcIndexStart": "2574", 
			"data": " or ", 
			"srcLength": "4"
		}, 
		"66: pageLink": {
			"srcIndexStart": "2578", 
			"param 0": "StatVsDyn", 
			"data": "dynamic-style", 
			"srcLength": "36", 
			"0: data": {
				"srcIndexStart": "2599", 
				"data": "dynamic-style", 
				"srcLength": "13"
			}
		}, 
		"67: data": {
			"srcIndexStart": "2614", 
			"data": "),
include these lines in ", 
			"srcLength": "26"
		}, 
		"68: code": {
			"srcIndexStart": "2640", 
			"param 0": "inline", 
			"data": "src/myapp/main.d", 
			"srcLength": "32", 
			"0: data": {
				"srcIndexStart": "2654", 
				"data": "src/myapp/main.d", 
				"srcLength": "16"
			}
		}, 
		"69: data": {
			"srcIndexStart": "2672", 
			"data": ":
</p>
", 
			"srcLength": "7"
		}, 
		"70: code": {
			"srcIndexStart": "2679", 
			"param 0": "highlight", 
			"data": "import goldie.all;
import myapp.mylang.all;", 
			"srcLength": "64", 
			"0: data": {
				"srcIndexStart": "2696", 
				"data": "import goldie.all;
import myapp.mylang.all;", 
				"srcLength": "45"
			}
		}, 
		"71: data": {
			"srcIndexStart": "2743", 
			"data": "
<p>
And then use the ", 
			"srcLength": "22"
		}, 
		"72: typeName": {
			"srcIndexStart": "2765", 
			"data": "Language_{languageName}", 
			"srcLength": "36", 
			"0: data": {
				"srcIndexStart": "2776", 
				"data": "Language_{languageName}", 
				"srcLength": "23"
			}
		}, 
		"73: data": {
			"srcIndexStart": "2801", 
			"data": " named ", 
			"srcLength": "7"
		}, 
		"74: code": {
			"srcIndexStart": "2808", 
			"param 0": "inline", 
			"data": "language_mylang", 
			"srcLength": "31", 
			"0: data": {
				"srcIndexStart": "2822", 
				"data": "language_mylang", 
				"srcLength": "15"
			}
		}, 
		"75: data": {
			"srcIndexStart": "2839", 
			"data": ",
like this:
</p>
", 
			"srcLength": "18"
		}, 
		"76: code": {
			"srcIndexStart": "2857", 
			"param 0": "highlight", 
			"data": "module myapp;
import goldie.all;
import myapp.mylang.all;

void main()
{
    auto source = \"...source code in 'mylang' language here...\";
    
    <span class=\"code-comment\">// Static-style:</span>
    auto rootTokenStatic = language_mylang.parseCode(src).parseTree;
    
    <span class=\"code-comment\">// Dynamic-style:</span>
    auto rootTokenDynamic = language_mylang.parseCodeX(src).parseTreeX;
    
    <span class=\"code-comment\">// rootTokenStatic is of type: Token_mylang!\"&lt;mylang's start symbol&gt;\"</span>
    <span class=\"code-comment\">//    (Look up 'Token_{languageName}!{symbol}' in Goldie's API Reference)</span>
    
    <span class=\"code-comment\">// rootTokenDynamic is of type: Token</span>
}", 
			"srcLength": "526", 
			"0: data": {
				"srcIndexStart": "2874", 
				"data": "", 
				"srcLength": "1"
			}, 
			"1: data": {
				"srcIndexStart": "2875", 
				"data": "module myapp;
import goldie.all;
import myapp.mylang.all;

void main()
{
	auto source = \"...source code in 'mylang' language here...\";
	
	// Static-style:
	auto rootTokenStatic = language_mylang.parseCode(src).parseTree;
	
	// Dynamic-style:
	auto rootTokenDynamic = language_mylang.parseCodeX(src).parseTreeX;
	
	// rootTokenStatic is of type: Token_mylang!\"<mylang's start symbol>\"
	//    (Look up 'Token_{languageName}!{symbol}' in Goldie's API Reference)
	
	// rootTokenDynamic is of type: Token
}", 
				"srcLength": "505"
			}, 
			"2: data": {
				"srcIndexStart": "3380", 
				"data": "", 
				"srcLength": "1"
			}
		}, 
		"77: data": {
			"srcIndexStart": "3383", 
			"data": "
<p>
You can also use ", 
			"srcLength": "22"
		}, 
		"78: pageLink": {
			"srcIndexStart": "3405", 
			"param 0": "Language#Language_parseFile", 
			"data": "parseFile", 
			"srcLength": "50", 
			"0: data": {
				"srcIndexStart": "3444", 
				"data": "parseFile", 
				"srcLength": "9"
			}
		}, 
		"79: data": {
			"srcIndexStart": "3455", 
			"data": " and
", 
			"srcLength": "5"
		}, 
		"80: pageLink": {
			"srcIndexStart": "3460", 
			"param 0": "Language#Language_parseFileX", 
			"data": "parseFileX", 
			"srcLength": "52", 
			"0: data": {
				"srcIndexStart": "3500", 
				"data": "parseFileX", 
				"srcLength": "10"
			}
		}, 
		"81: data": {
			"srcIndexStart": "3512", 
			"data": " if you want to
parse a file instead of just a string.
</p>
<p>
For an example of actually using the resulting parse tree, see the source code
for the ", 
			"srcLength": "151"
		}, 
		"82: pageTitle": {
			"srcIndexStart": "3663", 
			"data": "SampleApps", 
			"srcLength": "24", 
			"0: data": {
				"srcIndexStart": "3675", 
				"data": "SampleApps", 
				"srcLength": "10"
			}
		}, 
		"83: data": {
			"srcIndexStart": "3687", 
			"data": " and the examples on the ", 
			"srcLength": "25"
		}, 
		"84: pageTitle": {
			"srcIndexStart": "3712", 
			"data": "StatVsDyn", 
			"srcLength": "23", 
			"0: data": {
				"srcIndexStart": "3724", 
				"data": "StatVsDyn", 
				"srcLength": "9"
			}
		}, 
		"85: data": {
			"srcIndexStart": "3735", 
			"data": "
page.
</p>
<p>
If later on you change the ", 
			"srcLength": "43"
		}, 
		"86: ident": {
			"srcIndexStart": "3778", 
			"data": "mylang", 
			"srcLength": "16", 
			"0: data": {
				"srcIndexStart": "3786", 
				"data": "mylang", 
				"srcLength": "6"
			}
		}, 
		"87: data": {
			"srcIndexStart": "3794", 
			"data": " grammar, just recompile it to CGT
with ", 
			"srcLength": "40"
		}, 
		"88: pageTitle": {
			"srcIndexStart": "3834", 
			"data": "GRMC", 
			"srcLength": "18", 
			"0: data": {
				"srcIndexStart": "3846", 
				"data": "GRMC", 
				"srcLength": "4"
			}
		}, 
		"89: data": {
			"srcIndexStart": "3852", 
			"data": " or ", 
			"srcLength": "4"
		}, 
		"90: pageLink": {
			"srcIndexStart": "3856", 
			"param 0": "OtherTools#GOLD", 
			"data": "GOLD Parser Builder", 
			"srcLength": "48", 
			"0: data": {
				"srcIndexStart": "3883", 
				"data": "GOLD Parser Builder", 
				"srcLength": "19"
			}
		}, 
		"91: data": {
			"srcIndexStart": "3904", 
			"data": ",
and then re-run the StaticLang command above.
</p>

<h3>Command-line parameters:</h3>
", 
			"srcLength": "88"
		}, 
		"92: code": {
			"srcIndexStart": "3992", 
			"param 0": "plain", 
			"data": "Sample Usage:
  goldie-staticlang langs/lang.cgt
      Creates \"goldie/staticlang/lang/*.d\", each
      containing \"module goldie.staticlang.lang.*;\"

  goldie-staticlang langs/lang.cgt -dir:foo/src -pack:myapp.mylang
      Creates \"foo/src/myapp/mylang/*.d\", each
      containing \"module myapp.mylang.*;\"

Switches:
(Prefixes can be '/', '-' or '--')
('[]' means multiple switches are accepted)
  -help        Displays a help summary and exits
  -detail      Displays a detailed help message and exits
  &lt;text&gt;       (Required) CGT language file to use
  -pack:&lt;text&gt; Name of output package (default: goldie.staticlang.{cgt})
  -dir:&lt;text&gt;  Directory of package root (default: current directory)", 
			"srcLength": "718", 
			"0: data": {
				"srcIndexStart": "4005", 
				"data": "", 
				"srcLength": "1"
			}, 
			"1: data": {
				"srcIndexStart": "4006", 
				"data": "Sample Usage:
  goldie-staticlang langs/lang.cgt
      Creates \"goldie/staticlang/lang/*.d\", each
      containing \"module goldie.staticlang.lang.*;\"

  goldie-staticlang langs/lang.cgt -dir:foo/src -pack:myapp.mylang
      Creates \"foo/src/myapp/mylang/*.d\", each
      containing \"module myapp.mylang.*;\"

Switches:
(Prefixes can be '/', '-' or '--')
('[]' means multiple switches are accepted)
  -help        Displays a help summary and exits
  -detail      Displays a detailed help message and exits
  <text>       (Required) CGT language file to use
  -pack:<text> Name of output package (default: goldie.staticlang.{cgt})
  -dir:<text>  Directory of package root (default: current directory)", 
				"srcLength": "701"
			}, 
			"2: data": {
				"srcIndexStart": "4707", 
				"data": "", 
				"srcLength": "1"
			}
		}, 
		"93: data": {
			"srcIndexStart": "4710", 
			"data": "

<h3 class=\"list-heading\">See Also:</h3>
<ul>
<li>", 
			"srcLength": "51"
		}, 
		"94: pageTitle": {
			"srcIndexStart": "4761", 
			"data": "StatVsDyn", 
			"srcLength": "23", 
			"0: data": {
				"srcIndexStart": "4773", 
				"data": "StatVsDyn", 
				"srcLength": "9"
			}
		}, 
		"95: data": {
			"srcIndexStart": "4784", 
			"data": "</li>
<li>", 
			"srcLength": "10"
		}, 
		"96: pageTitle": {
			"srcIndexStart": "4794", 
			"data": "DevStaticLang", 
			"srcLength": "27", 
			"0: data": {
				"srcIndexStart": "4806", 
				"data": "DevStaticLang", 
				"srcLength": "13"
			}
		}, 
		"97: data": {
			"srcIndexStart": "4821", 
			"data": "</li>
</ul>", 
			"srcLength": "12"
		}
	}
}