<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>I think it’s some setting deep inside javac. I am not sure if it can be overridden or not. I will pass you the logs, and you can try some files for yourself, now that you have a Java code generator <span style='font-family:"Segoe UI Emoji",sans-serif'>😊</span>. You can exercise your code generator to see if we can get any more examples compiled. But really, I think your reflection loader will solve the issue.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ sh noncompiled.sh | xargs -L 1 -P 8 javac -J-Xss16m -J-Xmx4096M 2> javacerrors.txt</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ cat noncompiled.sh</p><p class=MsoNormal>find . -name '*.java'| grep -v " "| sed 's/\.java$/.class/'| xargs ls 2>&1| grep "No such file or directory" | awk '{ print $4; }'| sed "s/^'\.\///" | sed "s/\.class':/.java/"</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I think the stack overflows were resolved. Attached are JavaCErrors.zip remaining. (336MB)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Maybe try removing tabs? LOL</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Are we ready to move to python yet?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Sent: </b>Friday, March 24, 2017 2:04 AM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a>; <a href="mailto:x3d@web3d.org">x3d@web3d.org</a>; <a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a><br><b>Subject: </b>Re: X3DJSAIL apps. Generating and compiling Java. Avoiding code toolarge.</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>On 3/23/2017 6:58 PM, yottzumm@gmail.com wrote:</p><p class=MsoNormal>> So many of my last few hundred files have Java compiler errors are “code to large.” This is because I am generating all the Java in one main method.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Can you increase your memory/stack/heap to the process?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> Suggestions for breaking this up into multiple methods are welcome. Note that much of the code is now in a single humongous statement, so it could be difficult or easy to break up. I was thinking breaking at a certain number of levels of X3D, or perhaps every “new.”</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Breaking at each new, or upon discovery of a very large attribute, is possible.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> I’m also overflowing the javac stack in some cases. This is a concern, and may require another compiler?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>some hints about memory for building with Ant can be found at</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> Savage Developer Guide: Ant</p><p class=MsoNormal> https://savage.nps.edu/Savage/developers.html#Ant</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>i.e. ANT_OPTS=-Xss16m -Xmx4096M</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>These are just pass-through values to the underlying JVM, you can also read about them from console:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>javac -help -X</p><p class=MsoNormal>======================================================</p><p class=MsoNormal>Usage: javac <options> <source files></p><p class=MsoNormal>where possible options include:</p><p class=MsoNormal> -g Generate all debugging info</p><p class=MsoNormal> -g:none Generate no debugging info</p><p class=MsoNormal> -g:{lines,vars,source} Generate only some debugging info</p><p class=MsoNormal> -nowarn Generate no warnings</p><p class=MsoNormal> -verbose Output messages about what the compiler is doing</p><p class=MsoNormal> -deprecation Output source locations where deprecated APIs are used</p><p class=MsoNormal> -classpath <path> Specify where to find user class files and annotation processors</p><p class=MsoNormal> -cp <path> Specify where to find user class files and annotation processors</p><p class=MsoNormal> -sourcepath <path> Specify where to find input source files</p><p class=MsoNormal> -bootclasspath <path> Override location of bootstrap class files</p><p class=MsoNormal> -extdirs <dirs> Override location of installed extensions</p><p class=MsoNormal> -endorseddirs <dirs> Override location of endorsed standards path</p><p class=MsoNormal> -proc:{none,only} Control whether annotation processing and/or compilation is done.</p><p class=MsoNormal> -processor <class1>[,<class2>,<class3>...] Names of the annotation processors to run; bypasses default discovery process</p><p class=MsoNormal> -processorpath <path> Specify where to find annotation processors</p><p class=MsoNormal> -parameters Generate metadata for reflection on method parameters</p><p class=MsoNormal> -d <directory> Specify where to place generated class files</p><p class=MsoNormal> -s <directory> Specify where to place generated source files</p><p class=MsoNormal> -h <directory> Specify where to place generated native header files</p><p class=MsoNormal> -implicit:{none,class} Specify whether or not to generate class files for implicitly referenced files</p><p class=MsoNormal> -encoding <encoding> Specify character encoding used by source files</p><p class=MsoNormal> -source <release> Provide source compatibility with specified release</p><p class=MsoNormal> -target <release> Generate class files for specific VM version</p><p class=MsoNormal> -profile <profile> Check that API used is available in the specified profile</p><p class=MsoNormal> -version Version information</p><p class=MsoNormal> -help Print a synopsis of standard options</p><p class=MsoNormal> -Akey[=value] Options to pass to annotation processors</p><p class=MsoNormal> -X Print a synopsis of nonstandard options</p><p class=MsoNormal> -J<flag> Pass <flag> directly to the runtime system</p><p class=MsoNormal> -Werror Terminate compilation if warnings occur</p><p class=MsoNormal> @<filename> Read options and filenames from file</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> -Xlint Enable recommended warnings</p><p class=MsoNormal> -Xlint:{all,auxiliaryclass,cast,classfile,deprecation,dep-ann,divzero,empty,fallthrough,finally,options,overloads,overrides,path,processing,rawtypes,serial,static,try,unchecked,varargs,-auxiliaryclass,-cast,-classfile,-deprecation,-dep-ann,-divzero,-empty,-fallthrough,-finally,-options,-overloads,-overrides,-path,-processing,-rawtypes,-serial,-static,-try,-unchecked,-varargs,none} Enable or disable specific warnings</p><p class=MsoNormal> -Xdoclint Enable recommended checks for problems in javadoc comments</p><p class=MsoNormal> -Xdoclint:(all|none|[-]<group>)[/<access>]</p><p class=MsoNormal> Enable or disable specific checks for problems in javadoc comments,</p><p class=MsoNormal> where <group> is one of accessibility, html, missing, reference, or syntax,</p><p class=MsoNormal> and <access> is one of public, protected, package, or private.</p><p class=MsoNormal> -Xbootclasspath/p:<path> Prepend to the bootstrap class path</p><p class=MsoNormal> -Xbootclasspath/a:<path> Append to the bootstrap class path</p><p class=MsoNormal> -Xbootclasspath:<path> Override location of bootstrap class files</p><p class=MsoNormal> -Djava.ext.dirs=<dirs> Override location of installed extensions</p><p class=MsoNormal> -Djava.endorsed.dirs=<dirs> Override location of endorsed standards path</p><p class=MsoNormal> -Xmaxerrs <number> Set the maximum number of errors to print</p><p class=MsoNormal> -Xmaxwarns <number> Set the maximum number of warnings to print</p><p class=MsoNormal> -Xstdout <filename> Redirect standard output</p><p class=MsoNormal> -Xprint Print out a textual representation of specified types</p><p class=MsoNormal> -XprintRounds Print information about rounds of annotation processing</p><p class=MsoNormal> -XprintProcessorInfo Print information about which annotations a processor is asked to process</p><p class=MsoNormal> -Xprefer:{source,newer} Specify which file to read when both a source file and class file are found for an implicitly compiled class</p><p class=MsoNormal> -Xpkginfo:{always,legacy,nonempty} Specify handling of package-info files</p><p class=MsoNormal> -Xplugin:"name args" Name and optional arguments for a plug-in to be run</p><p class=MsoNormal> -Xdiags:{compact,verbose} Select a diagnostic mode</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>These options are non-standard and subject to change without notice.</p><p class=MsoNormal>======================================================</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>all the best, Don</p><p class=MsoNormal>-- </p><p class=MsoNormal>Don Brutzman Naval Postgraduate School, Code USW/Br brutzman@nps.edu</p><p class=MsoNormal>Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149</p><p class=MsoNormal>X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzc</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>