Berkeley CSUA MOTD:Entry 35368
Berkeley CSUA MOTD
 
WIKI | FAQ | Tech FAQ
http://csua.com/feed/
2025/05/24 [General] UID:1000 Activity:popular
5/24    

2004/12/20-21 [Computer/SW/Languages/Java, Computer/SW/Compilers] UID:35368 Activity:kinda low
12/20   Has anyone used the parser generator JavaCC?  Is it just me, or is
        it completely awful?
        \_ what do you need it for? If you need to use the visitor and
           traverse the syntax tree, I recommend JTB, available here
           http://compilers.cs.ucla.edu/jtb  It is built on top of
           javacc and generates visitors that you can extend functionalities
           on. There are tutorials you can use, here:
           http://compilers.cs.ucla.edu/jtb/jtb-2003           -kchang
           \_ I'm using it at work, I don't really have a choice about it.
              A parser was written in it long ago by a guy who didn't know
              anything about parsers, and now I have to update it.
              \_ well, what's awful about it? What does it not have that
                 yacc and bison have?
2025/05/24 [General] UID:1000 Activity:popular
5/24    

You may also be interested in these entries...
2013/4/29-5/18 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Compilers] UID:54665 Activity:nil
4/29    Why were C and Java designed to require "break;" statements for a
        "case" section to terminate rather than falling-through to the next
        section?  99% of the time poeple want a "case" section to terminate.
        In fact some compilers issue warning if there is no "break;" statement
        in a "case" section.  Why not just design the languages to have
        termination as the default behavior, and provide a "fallthru;"
	...
2013/5/1-18 [Computer/SW/Languages/Java, Computer/Theory] UID:54669 Activity:nil
5/1     What's the difference between CS and Computer Engineering?
        http://holykaw.alltop.com/top-ten-paying-degrees-for-college-graduates
        \_ One is science and the other is engineering.
        \_ From http://en.wikiquote.org/wiki/Computer_science
           'A folkloric quotation ... states that "computer science is no more
           about computers than astronomy is about telescopes."  The design
	...
2013/3/5-26 [Computer/SW/Languages/Java] UID:54618 Activity:nil
3/5     Three emergency Java updates in a month. Why do I have a feeling
        that the third one won't be the last one?
        \_ Bingo!
	...
2012/12/18-2013/1/24 [Computer/SW/Languages/Perl] UID:54561 Activity:nil
12/18   Happy 25th birthday Perl, and FUCK YOU Larry Wall for fucking up
        the computer science formalism that sets back compilers development
        back for at least a decade:
        http://techcrunch.com/2012/12/18/print-happy-25th-birthday-perl
        \_ I tried to learn Perl but was scared away by it.  Maybe scripting
           lanauages have to be like that in order to work well?
	...
2012/12/4-18 [Computer/SW/Languages/Java] UID:54544 Activity:nil
12/4    Holy cow, everyone around me in Silicon Valley is way beyond
        middle class according to Chinni's definition:
        http://en.wikipedia.org/wiki/American_middle_class
        \_ Let's set our goals higher:
           http://en.wikipedia.org/wiki/Upper_middle_class_in_the_United_States
           \_ How about this one?
	...
2012/10/29-12/4 [Science/Disaster, Computer/SW/Languages/Java, Politics/Domestic/President/Bush] UID:54516 Activity:nil
10/29   Go Away Sandy.
        \_ Sorry, Coursera is performing preventive maintenance for this
           class site ahead of Hurricane Sandy. Please check back in 15 minutes.
           class site ahead of Hurricane Sandy. Please check back in 15
           minutes.
        \_ Bitch.
	...
2014/1/14-2/5 [Computer/SW/Languages/C_Cplusplus] UID:54763 Activity:nil
1/14    Why is NULL defined to be "0" in C++ instead of "((void *) 0)" like in
        C?  I have some overloaded functtions where one takes an integer
        parameter and the other a pointer parameter.  When I call it with
        "NULL", the compiler matches it with the integer version instead of
        the pointer version which is a problem.  Other funny effect is that
        sizeof(NULL) is different from sizeof(myPtr).  Thanks.
	...
2011/3/7-4/20 [Computer/SW/Languages/C_Cplusplus] UID:54056 Activity:nil
3/7     I have a C question.  I have the following source code in two identical
        files t.c and t.cpp:
                #include <stdlib.h>
                int main(int argc, char *argv[]) {
                  const char * const * p1;
                  const char * * p2;
	...
2010/1/22-30 [Computer/HW/Laptop, Computer/SW/OS/OsX] UID:53655 Activity:high
1/22    looking to buy a new development laptop
        needs ssdrive, >6 hr possible batt life, and runs linux reasonably
        Anyone have a recommendation? Thx.
        \_ thinkpad t23 w ssdrive and battery inplace of drive bay
        \_ Ever wondered what RICHARD STALLMAN uses for a laptop?  Well,
           wonder no more!
	...
2009/8/31-9/9 [Computer/SW/Compilers] UID:53312 Activity:nil
8/31    I'm trying to learn ActionScript, like a step by step tutorial.
        The site at http://www.actionscript.org/resources/categories/Tutorials/Flash/Beginner
        isn't well organized. It doesn't explain how to get started with
        an editor, compiler, IDE. And should I even learn AS2 when you can
        learn AS3? Is Adobe Flash CS4 >>> CS3 or just CS4 > CS3?
	...
2009/2/28-3/11 [Computer/SW/Compilers] UID:52661 Activity:nil
2/28    I'm looking for a recommendation of a compiler/IDE to use to
        develop C/C++ code under Linux. In school, we used jove/gcc and
        I still use emacs/vi and gcc to this day. However, it is really
        lacking. Under Windows I tried Visual Studio and there were some
        really nice things about it, although it was so overwhelming that
        after 6 months of occasional use I still didn't really know what I
	...
2008/6/9-12 [Computer/SW/Languages/C_Cplusplus, Computer/SW/Security] UID:50194 Activity:nil
6/8     CSUA code guru please help. I need to see my random number
        generator with a good seed (I just need random 18 bit
        identifiers). The usual time(NULL) is OK, except my program
        might be invoked faster than once a second, and seeding using
        time() produced the same result. I tried clock() but it seems
        to return 0. My program needs to be run in Linux/DOS (Watcom
	...
2008/5/2-8 [Computer/SW/Compilers] UID:49874 Activity:low
5/2     How do I get the L1/L2 cache size and cache line size on my machine?
        Can I find this stuff out at compile time somehow?
        \_ You aren't planning on running your code on any other processors?
        \_ May I ask what it is you want to achieve ultimately? If you don't
           know your architecture and want to find out dynamically, there are
           tools that can peek/poke to give you definitive answers, plus you get
	...
2008/4/2-6 [Computer/SW/Languages/C_Cplusplus] UID:49645 Activity:moderate
4/2     Is there an interpreted version of C or C++ that can be used for
        educational purposes? It doesn't have to be full-featured or
        strictly adhere to the standards, but it's painful for students
        to change a variable in a for loop and then wait for a compile
        to see how it changes the result. Something really lightweight
        would encourage them to play around a lot more and learn more in
	...
2007/11/30-12/6 [Computer/SW/Compilers, Computer/HW/CPU] UID:48719 Activity:moderate
11/29   From the CSUA minutes:
        - Next Gen Console
        -- If we have $1800 in our accounts, should we buy a console:
           4 votes passes.
        -- Console voting: 2 votes each, neither passes
           * 360 = 600, more games
	...
2007/11/27-30 [Computer/SW/Languages/C_Cplusplus, Computer/SW/OS/Solaris] UID:48701 Activity:high
11/27   I'm using select to do a nonblocking check to see if a single socket
        has anything to read off it.  Problem is, I can have up to 12228
        file descriptors, and Linux fd_set only supports up to 4096.  Any idea
        what I can do about this?  (Or a better solution?) -jrleek
        \- 1. who are you
           2. i am busy this week and you didnt mention language
	...
Cache (707 bytes)
compilers.cs.ucla.edu/jtb -> compilers.cs.ucla.edu/jtb/
JAVA TREEBUILDER Overview JTB is a syntax tree builder to be used with the Java Compiler Compiler ( JavaCC) parser generator. It takes a plain JavaCC grammar file as input and automatically generates the following: * A set of syntax tree classes based on the productions in the grammar, utilizing the Visitor design pattern. Two depth-first visitors: Dep thFirstVisitor and GJDepthFirst, whose default methods simply visit the children of the current node. jj with the proper annotations to build the syntax tree during parsing. New visitors, which subclass DepthFirstVisitor or GJDepthFirst, can then override the default methods and perform various operations on and manip ulate the generated syntax tree.
Cache (2684 bytes)
compilers.cs.ucla.edu/jtb/jtb-2003 -> compilers.cs.ucla.edu/jtb/jtb-2003/
It takes a plain JavaCC grammar file as i nput and automatically generates the following: * A set of syntax tree classes based on the productions in the grammar, utilizing the Visitor design pattern. Two depth-first visitors: DepthFirstVisitor and ObjectDepthFirst, whose default methods simply visit the children of the current node. New visitors, which subclass DepthFirstVisitor or ObjectDepthFirst, can t hen override the default methods and perform various operations on and m anipulate the generated syntax tree. Design Patterns: Elements of Reusa ble Object-Oriented Software. How to Obtain JTB Both compiled executables and source code for the newest version of JTB a re available. Requirements JTB requires a Java 11 or higher virtual machine. jj This will generate * The subdirectory syntaxtree containing a class for each production in the grammar. java, the visitor interface with return value and argument; java, the default implementation of the Visitor interface; java, the default implementation of the ObjectVisitor interface. jj, the original grammar file now with syntax tree b uilding code inserted. documentation for details) as well as programming using the Visit or design pattern, writing your own visitors is a cinch. Simply subclas s DepthFirstVisitor or ObjectDepthFirst, overriding the methods you need to. You can compile all the generated classes by executing javac on your clas s containing the main() method. Jens Palsberg 1997 to present Responsible for the original idea, important concepts, and pr oject supervision and guidance. If you have any questions, comments, or problems regarding JTB, we would be glad to hear them. We would also like to thank the numerous people who have given us their feedback and suggestions fo r improving JTB. Without them, our seemingly endless "to do" list would be quite a bit smaller. Java Instrumentation Engine (JIE) is a generic Java source code processor which inserts instrumentation code at specified location s in a given sourcecode. "The project makes intensive use of JTB and th e visitor pattern (over 20 visitor classes) to perform transformation of Java source code. I found JTB effective and flexible, and its pattern- based approach has been a crucial element in the success of the project. Java Development Environment (JDE) is an Emacs Lisp packag e that interfaces Emacs to command-line Java development tools (for exam ple, JavaSoft's JDK). JDE features include: JDE menu with compile, run, debug, build, browse, project, and help commands; What I like about the JTB is that it provides the JDE with a si ngle parser that can be adapted to multiple purposes, including unforese en applications."