<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
For a LL(1) parser, it might be a little bit difficult to parse complex
grammar like C++, but it might work.<br>
<br>
ANTLR worked great when other codes were written in Java, but it was a
little bit painful when using other languages like python.<br>
<br>
I worked on it two years ago. I guess they might have some improvement
now.<br>
<br>
Haohui<br>
<br>
On 07/11/2009 02:40 PM, Vikram S. Adve wrote:
<blockquote cite="mid:AD51969C-A8A5-481F-A791-81D636CE28B2@cs.uiuc.edu"
 type="cite">We are looking for an open source C++ parser other than
g++ if possible.  Clang would be great but its C++ support is still
some way away and we need something that works or nearly works now.
 Does anyone have any experience with ANTLR for parsing C++ and for
extending their C++ parser?  Any other feedback on ANTLR in general
would be welcome too.  Thanks,<br>
  <div apple-content-edited="true"> <span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span
 class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Arial; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="word-wrap: break-word;"><span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 11px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
  <div style="font-family: Helvetica;"><span class="Apple-style-span"
 style="font-family: Arial;"><font class="Apple-style-span" size="3"><span
 class="Apple-style-span" style="font-size: 12px;"><br
 class="Apple-interchange-newline">
--Vikram</span></font></span></div>
  <div><font class="Apple-style-span" face="Arial"><i><font
 class="Apple-style-span" size="3"><span class="Apple-style-span"
 style="font-size: 12px;">Associate Professor, Computer Science</span></font></i></font></div>
  <div><font class="Apple-style-span" face="Arial"><i><font
 class="Apple-style-span" size="3"><span class="Apple-style-span"
 style="font-size: 12px;">University of Illinois at Urbana-Champaign</span></font></i></font></div>
  <div><font class="Apple-style-span" face="Arial"><i><font
 class="Apple-style-span" size="3"><span class="Apple-style-span"
 style="font-size: 12px;"><a moz-do-not-send="true"
 href="http://llvm.org/%7Evadve">http://llvm.org/~vadve</a></span></font></i></font></div>
  <div><br>
  </div>
  <div><font class="Apple-style-span" face="Arial" size="3"><span
 class="Apple-style-span" style="font-size: 12px;"><i>P.S.   Sorry for
the spam. I know this question is not directly LLVM related but it is
peripherally related and this list is the best source I could think of
for C++ parsing experience.</i></span></font></div>
  </span></div>
  </span></div>
  </span></div>
  </span></div>
  </span></div>
  </span></div>
  </span></div>
  </span></div>
  </span></span></div>
  </span></div>
  </span></div>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
  </pre>
</blockquote>
<br>
</body>
</html>