Question
Problem calling the as parser directly
<div class=Section1><br /><br /><p class=MsoNormal>I am building an asdoclet (similar to java doclet) for “.as”<br />files and in order to parse the “.as” files I am calling the “macromedia.asc.parser.Parser”<br />as shown below:<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal style='text-indent:4.5pt'>private static ProgramNode<br />parse_asc(File file) throws IOException {<o:p></o:p></p><br /><br /><p class=MsoNormal style='text-indent:4.5pt'> Context cx = new<br />Context(new ContextStatics());<o:p></o:p></p><br /><br /><p class=MsoNormal> ByteArrayInputStream in =<br />getInputStream(file);<o:p></o:p></p><br /><br /><p class=MsoNormal> cx.setScriptName(file.getName());<o:p></o:p></p><br /><br /><p class=MsoNormal> cx.setPath(file.getParent());<span<br />lang=FR><o:p></o:p></span></p><br /><br /><p class=MsoNormal><span lang=FR><o:p> </o:p></span></p><br /><br /><p class=MsoNormal><span lang=FR> Parser parser = new Parser(cx,<o:p></o:p></span></p><br /><br /><p class=MsoNormal><span lang=FR> <br /></span>in,<o:p></o:p></p><br /><br /><p class=MsoNormal> <br />file.getAbsolutePath().replace('\\', '/'),<o:p></o:p></p><br /><br /><p class=MsoNormal> <br />true, // emit doc info<o:p></o:p></p><br /><br /><p class=MsoNormal> <br />true); // save comment nodes<o:p></o:p></p><br /><br /><p class=MsoNormal> return parser.parseProgram();<o:p></o:p></p><br /><br /><p class=MsoNormal> }<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal>The Parser can be found here:<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal><a<br />href="http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/Parser.java">http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/modules/asc/src/java/macromedia/asc/parser/Parser.java</a><o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal>My problem is that everything parses fine in the SDK and my<br />files *<b>except</b>* expressions like this in a class:<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal>public static const TOP_LEFT:int = (0x0001 | 0x0004);<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal>The error that I get from the parser is:<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal> Embedded error:<br />bitwiseor at line …<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal>Does anyone have an idea as to why I may be getting<br />this problem? Is there a better (cleaner) way to set up the parser to use it<br />externally like this?<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal>Thanks in advance for any help you can provide.<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /><p class=MsoNormal>Julian Payne<o:p></o:p></p><br /><br /><p class=MsoNormal>ILOG S.A.<o:p></o:p></p><br /><br /><p class=MsoNormal><o:p> </o:p></p><br /><br /></div>
