X-Received: by 10.224.198.196 with SMTP id ep4mr22959658qab.3.1357178119333; Wed, 02 Jan 2013 17:55:19 -0800 (PST) Received: by 10.49.15.38 with SMTP id u6mr7594333qec.8.1357178119317; Wed, 02 Jan 2013 17:55:19 -0800 (PST) Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!ee4no12487906qab.0!news-out.google.com!k2ni4226qap.0!nntp.google.com!ee4no12487904qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.java.programmer Date: Wed, 2 Jan 2013 17:55:19 -0800 (PST) In-Reply-To: <0154ad4d-a78c-47b7-a457-f40ee1921765@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=149.4.223.154; posting-account=lPVJQwoAAACjT2AlnY0YSj2LC4j2qtwQ NNTP-Posting-Host: 149.4.223.154 References: <0f28108e-6d35-43a1-a9df-b6c5636fb0ec@googlegroups.com> <50e4d730$0$288$14726298@news.sunsite.dk> <24e3a8de-a422-4d4e-a319-aeedddb9df03@googlegroups.com> <0154ad4d-a78c-47b7-a457-f40ee1921765@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <40014c28-55cd-45d6-99be-5ce1fe98622c@googlegroups.com> Subject: Re: question on java lang spec chapter 3.3 (unicode char lexing) From: "Aryeh M. Friedman" Injection-Date: Thu, 03 Jan 2013 01:55:19 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: csiph.com comp.lang.java.programmer:20897 On Wednesday, January 2, 2013 8:42:57 PM UTC-5, Lew wrote: > On Wednesday, January 2, 2013 5:27:21 PM UTC-8, Aryeh M. Friedman wrote: >=20 > > >=20 >=20 > >=20 >=20 > > > Well - since he is writing a lexer for Java then ... >=20 > >=20 >=20 > >=20 >=20 > >=20 >=20 > > A little more on the project... while the over all project *IS* for fun= a few components may find there way into more serious work related project= s but only to be used on code written by me or others on my team... specifi= cally we may use the lexing/parsing component to make the following tools (= the actual code generation/etc. of the compilation is currently purely fun = [see note]): >=20 >=20 >=20 > And your team can't use a real Java compiler because ... ? >=20 >=20 >=20 > > 1. Scan for a complete list of classes referenced by a given class (our= build system sometimes hiccups on not realizing that when class X calls an= instance of class Y and Y has been modified it needs to recompile X {if, a= nd only if, the signature(s) have changed}) >=20 >=20 >=20 > There are standard build systems that handle this. What do you use? Aegis/cook (aegis.sf.net) and the issue is not the build system per se but = how most build system deals the split source view aegis provides (which the= aegis documentation correctly points out *ALMOST* no build system deals wi= th correctly except for cook)... i.e. every build system makes the assumes = that there is a single definition of each compilation unit where aegis make= s it so the current version and all previous versions are available (this m= akes tracking what changes have been made much easier then say cvs/svn/git = besides none of them are truly atomic interms of commits {you have to prove= your code works before committing it and this is enforced by the VC system= ). >=20 >=20 >=20 > > 2. Do some minor style enforcement like warning (have not decided if it= should reject or just warn) if a class/method does not have something that= at least looks like a javadoc header comment (/** ... */ is sufficient for= this purpose) >=20 >=20 >=20 > Lint. Findbugs. And more. Why reinvent the wheel? Because there are other style issues that are not enforced (but are propiti= atory) that make those unusable >=20 >=20 >=20 > > Note: >=20 > > A long term personal project of mine is to write a OS completely from t= he ground up in a super set of Java (the only addition I see that is needed= is some type of "safe" pointer type)... in this case safe being defined as= you can assign a literal address to it but your not allowed to do ptr math= on it >=20 >=20 >=20 > Also known as "a JVM"? As far I know the JVM can not be directly booted (as in if I turn on my PC = it can not boot into the JVM)... neither for performance reasons does it ma= ke sense to run a VM at the bottom layer... an other reason is there is a l= ot of junk in the JRE (like how do you do garbage collection if you do not = have some way of the OS allocating mem to a process in the first place) >=20 >=20 >=20 > --=20 >=20 > Lew