title: Compiling Charniak's parser
body: <p>A couple of days ago I downloaded <a href="http://www.cs.brown.edu/~ec/" rel="nofollow">Charniak's parser</a> from the web. This parser is used to parse natural languages. </p>
  
  <p>I've been trying to compile it but it is not working. When I'm in parser directory and type make this is prompted:</p>
  
  <pre><code>/usr/bin/g++  -c -O Bchart.C
  /usr/bin/g++  -c -O BchartSm.C
  /usr/bin/g++  -c -O Bst.C
  /usr/bin/g++  -c -O FBinaryArray.C
  /usr/bin/g++  -c -O CntxArray.C
  /usr/bin/g++  -c -O ChartBase.C
  /usr/bin/g++  -c -O ClassRule.C
  /usr/bin/g++  -c -O ECArgs.C
  /usr/bin/g++  -c -O Edge.C
  /usr/bin/g++  -c -O EdgeHeap.C
  /usr/bin/g++  -c -O Feat.C
  /usr/bin/g++  -c -O Feature.C
  /usr/bin/g++  -c -O FeatureTree.C
  /usr/bin/g++  -c -O Field.C
  /usr/bin/g++  -c -O FullHist.C
  /usr/bin/g++  -c -O GotIter.C
  /usr/bin/g++  -c -O InputTree.C
  /usr/bin/g++  -c -O Item.C
  /usr/bin/g++  -c -O Link.C
  /usr/bin/g++  -c -O Params.C
  /usr/bin/g++  -c -O ParseStats.C
  /usr/bin/g++  -c -O SentRep.C
  /usr/bin/g++  -c -O Term.C
  /usr/bin/g++  -c -O TimeIt.C
  /usr/bin/g++  -c -O UnitRules.C
  /usr/bin/g++  -c -O ValHeap.C
  /usr/bin/g++  -c -O edgeSubFns.C
  /usr/bin/g++  -c -O ewDciTokStrm.C
  /usr/bin/g++  -c -O extraMain.C
  /usr/bin/g++  -c -O fhSubFns.C
  /usr/bin/g++  -c -O headFinder.C
  /usr/bin/g++  -c -O headFinderCh.C
  cc    -c -o utils.o utils.c
  In file included from utils.c:23:
  utils.h:28:19: fstream: No such file or directory
  utils.h:29:16: list: No such file or directory
  In file included from utils.h:30,
                   from utils.c:23:
  ECString.h:8: error: syntax error before "namespace"
  ECString.h:8: warning: data definition has no type or storage class
  In file included from utils.h:30,
                   from utils.c:23:
  ECString.h:9:18: string: No such file or directory
  In file included from utils.c:23:
  utils.h:31:18: vector: No such file or directory
  In file included from utils.c:23:
  utils.h:37: error: syntax error before "intToString"
  utils.h:37: warning: data definition has no type or storage class
  utils.h:38: error: syntax error before '&lt;' token
  utils.h:39: error: syntax error before ':' token
  utils.h:40: error: syntax error before "st"
  utils.h:40: warning: data definition has no type or storage class
  utils.h:43: error: syntax error before '&amp;' token
  utils.h:44: error: syntax error before "lastCharacter"
  utils.h:44: error: syntax error before '&amp;' token
  utils.h:44: warning: data definition has no type or storage class
  utils.h:45: error: syntax error before "firstCharacter"
  utils.h:45: error: syntax error before '&amp;' token
  utils.h:45: warning: data definition has no type or storage class
  utils.c:24:20: iostream: No such file or directory
  utils.c: In function `error':
  utils.c:34: error: `cerr' undeclared (first use in this function)
  utils.c:34: error: (Each undeclared identifier is reported only once
  utils.c:34: error: for each function it appears in.)
  utils.c:34: error: `endl' undeclared (first use in this function)
  utils.c: In function `warn':
  utils.c:43: error: `cerr' undeclared (first use in this function)
  utils.c:43: error: `endl' undeclared (first use in this function)
  utils.c: At top level:
  utils.c:47: error: syntax error before '&amp;' token
  utils.c: In function `ignoreComment':
  utils.c:49: error: `string' undeclared (first use in this function)
  utils.c:49: error: syntax error before "nxt"
  utils.c:51: error: `inpt' undeclared (first use in this function)
  utils.c:59: error: `nxt' undeclared (first use in this function)
  utils.c: In function `toLower':
  utils.c:82: error: 'for' loop initial declaration used outside C99 mode
  utils.c: At top level:
  utils.c:97: error: syntax error before "intToString"
  utils.c: In function `intToString':
  utils.c:101: error: `string' undeclared (first use in this function)
  utils.c:101: error: syntax error before "ans"
  utils.c:102: error: `ans' undeclared (first use in this function)
  utils.c: At top level:
  utils.c:106: error: syntax error before "vECfind"
  utils.c:106: error: syntax error before "s"
  utils.c: In function `vECfind':
  utils.c:108: error: `ECStringsIter' undeclared (first use in this function)
  utils.c:108: error: syntax error before "eci"
  utils.c:109: error: `eci' undeclared (first use in this function)
  utils.c:109: error: `sts' undeclared (first use in this function)
  utils.c:109: error: `s' undeclared (first use in this function)
  utils.c:109: error: `true' undeclared (first use in this function)
  utils.c:110: error: `false' undeclared (first use in this function)
  utils.c: At top level:
  utils.c:113: error: syntax error before "lastCharacter"
  utils.c:113: error: syntax error before '&amp;' token
  utils.c: In function `lastCharacter':
  utils.c:115: error: `string' undeclared (first use in this function)
  utils.c:115: error: syntax error before "f"
  utils.c:116: error: `s' undeclared (first use in this function)
  utils.c:121: error: `f' undeclared (first use in this function)
  make: *** [utils.o] Error 1
  </code></pre>
  
  <p>Some other people have problems compiling this thing, like the one in <a href="http://mailman.uib.no/public/corpora/2010-June/010919.html" rel="nofollow">this forum</a>. but I dont think my gcc version is the problem.</p>
  
  <p>NOTE: I am trying to build a numerical optimization algorithm used for natural language parsing. I'm trying to get some examples from charniak's parser. Any help would be greatly appreciated.</p>