LEX and YACC alikes in Java

I'd like to know what the recommended equivalences of LEX and YACC (or BISON) are?
(That is lexical analyser and parser generators.)
Thanks.

I've used JLex and CUP before.
http://www.cs.princeton.edu/~appel/modern/java/JLex/
http://www.cc.gatech.edu/gvu/people/Faculty/hudson/java_cup/home.redirect.html

Similar Messages

  • Lex and yacc for java?

    I've found "jack" and a few other tools for this. I would prefer to use the syntax of the lex/flex and yacc/bison files (as opposed to jack's combined file).
    I'm interested in folks recommendation for the best lex/yacc tools for generating .java files for a parser.
    Thanks,
    Tom

    There is something called JavaCC. It includes a lectical analyzer, but it generates top-down parsers which you might or might not like.
    http://www.experimentalstuff.com/Technologies/JavaCC/
    Cyric

  • Lexing and parsing!!!!

    I C/C++ and ML there at specialisers (fx YACC and MLYACC) that makes the code for a lexer and a parser.
    What is the name for the same things in JAVA?
    And where do I learn how to use of them?
    Thanks

    http://www.antlr.org/ - probably the best
    http://www.sablecc.org/ - probably easiest
    below are more compatilbe to lex and yacc
    http://www.cs.princeton.edu/~appel/modern/java/JLex/
    http://www.cs.princeton.edu/~appel/modern/java/CUP/
    assorted links
    http://catalog.compilertools.net/java.html

  • Using Runtime exec() to open and close process like java or javac

    Hi, I m a student who is learning IT and is wondering if
    Runtime exec() can run and stop commands like java and javac?
    Can someone post the code to do so here?Thank you

    Well, Here is my complete code:
    import java.util.*;
    import java.io.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    class StreamGobbler extends Thread
    InputStream is;
    String type;
    StreamGobbler(InputStream is, String type)
    this.is = is;
    this.type = type;
    public void run()
    try
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr);
    String line=null;
    while ( (line = br.readLine()) != null)
    System.out.println(type + ">" + line);
    } catch (IOException ioe)
    ioe.printStackTrace();
    class Program implements Runnable
         Process proc;
    String args[];
         String[] cmd = new String[4];
         boolean isGone=false;
         public Program(String args[])
              this.args=args;
         public void run()
              if (isGone==true)
                   try
                        Runtime.getRuntime().exec(cmd).destroy();
                   catch(IOException e)
                        System.out.println("Error: "+e.toString());
                   System.out.println("User abort");
         public void start(String args[])
              if (args.length < 1)
    System.out.println("USAGE: java GoodWindowsExec <cmd>");
    System.exit(1);
    try
    String osName = System.getProperty("os.name" );
    if( osName.equals( "Windows NT" ) )
    cmd[0] = "cmd.exe" ;
    cmd[1] = "/C" ;
    cmd[3] = args[0];
    else if( osName.equals( "Windows 95" ) ||osName.equals( "Windows 98" ))
    cmd[0] = "command.com" ;
    cmd[1] = "/C" ;
    cmd[2] = args[0];
                        cmd[3]=args[1];
    Runtime rt = Runtime.getRuntime();
    // System.out.println("Execing " + cmd[0] + " " + cmd[1]
    // + " " + cmd[2]+" "+args[1]);                                    
    proc = rt.exec(cmd);
    // any error message?
    StreamGobbler errorGobbler = new
    StreamGobbler(proc.getErrorStream(), "ERROR");
    // any output?
    StreamGobbler outputGobbler = new
    StreamGobbler(proc.getInputStream(), "OUTPUT");
    // kick them off
    errorGobbler.start();
    outputGobbler.start();
    // any error???
    // int exitVal = proc.waitFor();
    //System.out.println("ExitValue: " + exitVal);
    } catch (Throwable t)
    t.printStackTrace();
         public void destroy()
              isGone=true;
    class test1 implements ActionListener
         String s[]={"c:\\jdk1.3\\bin\\java.exe","ContactProcessor1"};
         GUI g=new GUI();
              Program p=new Program(s);
         public test1()
              //didnt work
              g.getStart().addActionListener(this);
              g.getStop().addActionListener(this);
              g.show();
         public void actionPerformed(ActionEvent e)
              if (e.getSource()==g.getStart())
                   p.start(s);
                   p.run();
              if (e.getSource()==g.getStop())
                   p.destroy();
                   p.run();
         public static void main(String args[])
              test1 t = new test1();
    class GUI extends JFrame
         JButton start;
         JButton stop;
         public GUI()
              super();
              getContentPane().setLayout(new FlowLayout());
              start=new JButton("start");
              stop=new JButton("stop");
              getContentPane().add(start);
              getContentPane().add(stop);
              setSize(100,100);
         public JButton getStart()
              return start;
         public JButton getStop()
              return stop;
    }

  • What are the pros and cons of installing java+abap stack for portal?

    Hi all,
      1.What are the pros and cons of installing java+abap stack for portal?
      2.what effect it does on the ume options to be choosen??
      3.for the purpose of integration of r3,bw and crm on portal and crm 4.0 60.2.3 business package which option of stack(java or abap or both)will be good option and which ume option while installation should be choosen?
    regards
    Rajendra

    Hi Rajendra,
    The NetWeaver Installation Master Guide offers some good scenarios on the pros and cons:
    https://websmp201.sapag.de/~sapidb/011000358700005412792005E.pdf
    In a nutshell:
    ABAP+JAVA
    Pros
    - Decrease # of servers required to administer the portal
    - Less costly
    Cons
    - Upgrades could be dependent on ABAP and Java release level
    - Additional load on the server due to ABAP stack
    - Limited scalability
    JAVA and ABAP on separate server
    Pros
    - Improved performance
    - Allows each system to be single-use purpose therefore downtime does not affect other components
    - More scalable
    Cons
    - Adds complexity to landscape
    - Additional costs
    Regards,
    Thomas Pham

  • Do i need a network card to install and run a local java web server

    Friends,
    Do i need a network card in my computer to install and run a local Java Web Server or any Web Server.

    network cards are only for connecting equipment together... you can set up a webserver without any more equipment than you have already! Indeed Tomcat... BUT you would be better off with apache for production stuff. It depends what you need to serve... if its mainly static pages (i guess it probably isn't) then apache will be enough by itself; but if you need to serve dynamic pages (JSP, Servlet blah blah) then you will need tomcat. Tomcat has it's own webserver and its perfectly ok for testing or low-load stuff, but you can integrate with Apache (a moderately compex task, but do-able, see tomcat-user forum off of apache site) for greater stability, and you don't have to show the port in the URL... Don't set up a webserver on any pc that contains stuff you don't want hacked into... it becomes very succeptible when the service is up...

  • How SDA and DDA works in Java Card?

    Hi Friends,
    I want to know how exactly SDA and DDA works in Java Card technology..
    Yes, i know that SDA (Static Data Authentication) is valid for every transactions, but the key used is always same for every transaction made..
    and DDA (Dynamic Data Authentication) uses dynamic key for every transactions, it means that one key is valid for one transaction..
    But, i'm a little bit confused how this is implemented in Java Card..
    Is it related with SCP01 and SCP02?..
    Please help me regarding this..
    Thanks in advance

    Hi,
    I want to know how exactly SDA and DDA works in Java Card technology..This is an EMV concept and as such is not implemented in Java Card as such. You would have to create an implementation to be able to use SDA and DDA.
    But, i'm a little bit confused how this is implemented in Java Card..
    Is it related with SCP01 and SCP02?..It is not implemented natively in Java Card and are not related to SCP. SDA and DDA are for the EMV card application (card application data updates) and SCP is for the card manager (card content updates). While they could be considered similar concepts, they are not related in a Java Card sense.
    Cheers,
    Shane

  • What are the BEST Books and Best websites for java biginners?

    Dear All,
    What are the BEST Books and Best websites for java biginners-Especially for fast learning.
    Thnaks
    KMK

    This is my standard reply:
    [Sun's basic Java tutorial|http://java.sun.com/docs/books/tutorial/]
    [Sun's New To Java Center|http://java.sun.com/learning/new2java/index.html]
    Includes an overview of what Java is, instructions for setting up Java, an intro to programming (that includes links to the above tutorial or to parts of it), quizzes, a list of resources, and info on certification and courses.
    jGuru
    A general Java resource site. Includes FAQs, forums, courses, more.
    JavaRanch
    To quote the tagline on their homepage: "a friendly place for Java greenhorns." FAQs, forums (moderated, I believe), sample code, all kinds of goodies for newbies. From what I've heard, they live up to the "friendly" claim.
    [Yawmarks List|http://forums.devshed.com/java-help-9/resources-for-learning-java-249225.html]
    [The Java Developers Almanac|http://www.amazon.com/exec/obidos/tg/detail/-/0201752808?v=glance]
    [http://javaalmanac.com|http://javaalmanac.com]
    Bruce Eckel's [Thinking in Java(Available online.)|http://mindview.net/Books/DownloadSites]
    Joshua Bloch's [Effective Java|http://www.amazon.co.uk/exec/obidos/Author=Bloch,%20Josh]
    Bert Bates and Kathy Sierra's [Head First Java|http://www.amazon.com/exec/obidos/tg/detail/-/0596004656?v=glance ]
    James Gosling's [The Java Programming Language|http://www.bookpool.com/sm/0321349806]
    Gosling is the creator of Java. It doesn't get much more authoritative than this.
    Joshua Bloch and Neal Gafter [Java Puzzlers.|http://www.javapuzzlers.com/]

  • How to create parent and chile process in java

    i'm beginning in java, and i want to ask something, please help me...
    1. i want to ask how to create parent and child process in java???
    example :
    if have one window and explore menu, when i click the explore menu.
    new window come out.
    how if i close the parent window the child window will close too...
    2. what is the method from runtime class to get available memory and Active Threads count

    ONE way to do what you wanted is this.
    class Parent{
    Child c = new Child
    allChildren.add(c);
    //if close
    iterate through list
    (Child)allChildren.get(index).close();
    ArrayList allChildren;
    class Child{
    public void close(){ }
    i dont know if you can get the thread count. but you can
    get the current thread by using System.
    Memory: Runtime.freeMemory() .maxMemory() .totalMemory()
    http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html
    Careful though you have to do a calculation to get the
    actual memory because those 3 methods refer to freeMemory
    of the CURRENT heap not the total memory.
    i think its: total - (max - free)

  • Can we call a workflow form a JSP and/or form a Java Class?

    Is it possible to call a workflow form a JSP and/or form a Java Class?

    Below is some xpress code I wrote once, used to dynamically lauch workflows from within a workflow. Since it basically uses java classes, you reuse these in your java program or jsp:
    - create a new generic object
    - call the setId, put, ... methods on it
    - set the input variables for the workflow by putting them into the generic object
    - call the checkinView method on a LighthouseContext object which launches your workflow.
    If all you need is starting a workflow from a jsp, you might also want to take a look at the tasks/taskLaunch.jsp jsp. This is an out of the box jsp which allows launching of tasks. If I remember correctly you have to give an url parameter which specificies the name of task you want to start: tasks/taskLaunch.jsp?id=<workflow-name>
    - Robin
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE TaskDefinition PUBLIC 'waveset.dtd' 'waveset.dtd'>
    <TaskDefinition name="MVG_TD_LaunchWorkflow" taskType="Workflow" executor="com.waveset.workflow.WorkflowExecutor" suspendable="true" syncControlAllowed="true" execMode="sync" execLimit="0" resultLimit="0" resultOption="delete" visibility="runschedule" progressInterval="0">
         <Extension>
              <WFProcess name="MVG_TD_LaunchWorkflow">
                   <Variable name="workflowName" input="true"/>
                   <Variable name="taskInstanceName" input="true"/>
                   <Variable name="inputs" input="true"/>
                   <Variable name="processView"/>
                   <Activity name="start">
                        <Transition to="createProcessView"/>
                   </Activity>
                   <Activity name="createProcessView">
                        <Action>
                             <block trace="true">
                                  <set name="processView">
                                       <new class="com.waveset.object.GenericObject"/>
                                  </set>
                                  <invoke name="setId">
                                       <ref>processView</ref>
                                       <s>ProcessViewer</s>
                                  </invoke>
                                  <invoke name="put">
                                       <ref>processView</ref>
                                       <s>task.process</s>
                                       <ref>workflowName</ref>
                                  </invoke>
                                  <invoke name="put">
                                       <ref>processView</ref>
                                       <s>task.taskName</s>
                                       <ref>taskInstanceName</ref>
                                  </invoke>
                                  <if>
                                       <notnull>
                                            <ref>inputs</ref>
                                       </notnull>
                                       <then>
                                            <invoke name="assimilate">
                                                 <ref>processView</ref>
                                                 <ref>inputs</ref>
                                            </invoke>
                                       </then>
                                  </if>          
                             </block>
                        </Action>
                        <Transition to="checkInProcessView"/>
                   </Activity>
                   <Activity name="checkInProcessView">
                        <Action>
                             <block trace="true">
                             <invoke name="checkinView">
                                  <invoke name="getLighthouseContext">
                                       <ref>WF_CONTEXT</ref>
                                  </invoke>
                                  <ref>processView</ref>
                                  <new class="java.util.HashMap"/>
                             </invoke>
                             </block>
                        </Action>
                        <Transition to="end"/>
                   </Activity>
                   <Activity name="end"/>
              </WFProcess>
         </Extension>
         <MemberObjectGroups>
              <ObjectRef type="ObjectGroup" id="#ID#Top" name="Top"/>
         </MemberObjectGroups>
    </TaskDefinition>

  • Exception when connecting to Reporting and Analysis services from Java API

    Hello,
    I'm trying to connect to Hyperion Reporting and Analysis services from Java API using [Developer's guide|http://www.bidw.in/docs/hs_developer.pdf] .
    I get this error:
    com.sqribe.rm.ReportMartException: com/hyperion/css/CSSException
         at com.sqribe.rm.SessionImpl.convertError(Unknown Source)
         at com.sqribe.rm.AASessionImpl.open(Unknown Source)
         at com.sqribe.rm.AASessionImpl.internalInit(Unknown Source)
         at com.sqribe.rm.AASessionImpl.<init>(Unknown Source)
         at com.sqribe.rm.SessionFactory.getInstance(Unknown Source)
         ...My code:
    String user = "user";
    String pwd = "password";
    String host = "my.hyperion.server";
    int port = 6800;
    try {
         Session theSession = SessionFactory.getInstance(user, pwd, host, port);
         Repository theRepository = theSession.getRepository();
    } catch (UserValidationException e) {
         e.printStackTrace();
    } catch (UnknownReportMartException e) {
         e.printStackTrace();
    } catch (ReportMartException e) {
         e.printStackTrace();
    }I have tried to look at my services running, and it all looks OK. I've checked user/passowrd/port for GSM. What can be wrong?
    I also tried to run samples from \BIPlus\SDK\samples\java, e.g. Login.java:
    #> java Login user password my.hyperion.server 6800with this effect
    com.sqribe.rm.ReportMartException: SystemExceptionError
            at com.sqribe.rm.SessionImpl.convertError(Unknown Source)
            at com.sqribe.rm.AASessionImpl.open(Unknown Source)
            at com.sqribe.rm.AASessionImpl.internalInit(Unknown Source)
            at com.sqribe.rm.AASessionImpl.<init>(Unknown Source)
            at com.sqribe.rm.SessionFactory.getInstance(Unknown Source)
            at Login.<init>(Login.java:36)
            at Login.main(Login.java:69)I'm sure that I'm connecting to the server because when put wrong passowrd or user as input to Login class I get this:
    com.sqribe.rm.ReportMartException: AUTHEN_CSSLoginFailed
            at com.sqribe.rm.SessionImpl.convertError(Unknown Source)
            at com.sqribe.rm.AASessionImpl.open(Unknown Source)
            at com.sqribe.rm.AASessionImpl.internalInit(Unknown Source)
            at com.sqribe.rm.AASessionImpl.<init>(Unknown Source)
            at com.sqribe.rm.SessionFactory.getInstance(Unknown Source)
            at Login.<init>(Login.java:36)
            at Login.main(Login.java:69)so it is there but something is wrong later. Any idea what?
    Please help.
    regards,
    Pawel
    Edited by: Paoro on 2010-09-27 02:02

    HI,
    I am getting the same error while running the Login file, Did any one resolve this issue?
    Please share the solution.
    Thanks.

  • I need only to select node with "NodeName" (or/and Number) in a Java Tree

    I need only to select node with "NodeName" (or/and Number) in a Java Tree. Can anybody help me? Thanks a lot

    http://www.jetbrains.com/idea/openapi/5.0/com/intellij/util/ui/tree/TreeUtil.html
    http://www.tangoone.com/swf/docs/javadocs/org/swf/components/TreePane.html
    I fin SelectNode() function here - but I don't know how to connect these clases

  • Make sure Webserver and Appserver are up. java.lang.NullPointerException

    I redeployed PIA (websphere version 6.1.0.3) Aix 5.3
    Webserver / Apps boot up fine and 3 tier login works perfect.
    While trying to login to the Apps (PIA) i get following Error
    Please make sure Webserver and Appserver are up.
    java.lang.NullPointerException
    i also reinstalled PIA for another instance on the same server... that is working fine.
    I checked the PIAinstall.log as well .. that also looks fine.
    I have increased the Java Heap size but that also dint help..
    Can anyone help or adivse on this ...Thanks

    Vishal,
    Is it the follow of your previous thread ? Re: Issue with PeopleSoft Sign-on url....not able to get the signon page
    Wouldn't it be Weblogic11gR1 ?
    Did you upgraded your FSCM 8.9 database to Peopletools 8.50 ?
    It seems you are not using fixed IP address and /etc/hosts not updated correctly (127.0.0.1 should not be used here).
    OS ?
    I checked the PSMSGNODEDEFN table and the node PSFT_EP is the default node and not the PT_LOCAL. Can this be the reason or something else? I'm not sure to understand you is wrong there. Why would you want PT_LOCAL ?
    Error in service HomepageT, CREF with URL can not be foundAre you using Portal ?
    This error is described here : HomepageT, CREF with URL can not be found ID 624799.1+
    Nicolas.

  • How to read  and write XML in java

    I have a code that reads a large XML file, splits it into smaller files, filters and then writes it into a new XML file. My problem is that I had coded the input file name into the code, so that only the specified file can be read. How can I rewrite my code to be able to take any input xml and perform the same operation? Here's a portion of my code below:
                            File file = new File("c:\\APAdjustmentJVDoc_FINAL.xml");
                        output = new BufferedWriter(new FileWriter(file));
                        for (int i = 1; i < 79; i++) {
                             fIStream = new FileInputStream("c:\\APAdjustmentJVDoc_new" + i + ".xml");
                             loRead = new InputStreamReader(fIStream);
                             doc = XMLUtil.transformToNode(loRead, false);
                             System.out.println("Reading from file " + "c:\\APAdjustmentJVDoc_new" + i + ".xml");
                             writeFile(doc, docIdList, output);
                             fIStream.close();
                             loRead.close();
                        System.out.println("Output file complete");
                   } catch (Exception e) {
                        e.printStackTrace();
                   } finally {
                        if (output != null) {
                             output.close();
                        if (fIStream != null) {
                             fIStream.close();
              } catch (Exception e) {
                   e.printStackTrace();
                 

    You need to pass your filename String as a parameter to your functionality. It depends how you're currently set up though. We can't really see the top of your call so it's difficult to determine what you are calling and we don't really know from where you're calling either.
    If you're running standalone, then on launch of the application, you can feed in a file name as an argument that you can read in in String args[] in the main function and pass down to your XML splitter.
    If you're a method in a class that's part of a bigger pile, you can feed the file name as a String to the method from wherever you call from if it makes sense architecturally.
    You might also want to pass down a File object if that makes sense in your current code (i.e. if you're using your file for other purposes prior to the split, to avoid recreating closing/opening for no reason).
    Depends what you're trying to do. If I put together a piece like this, I would probably create an <yourcurrentrootpackage>.xml.splitter package.
    Also, on a side note, you're problem isn't really reading and writing XML in java, but seems more to be making your functionality generic so that any XML file can be split with your code.
    Regards
    JFM

  • I can not get any updates and therefor not use Java as it only run updates for Mac 10.7. and later? How do i get the updates to install and use Java?

    I can not get ny updates and therefore not use Java, as it only run updates for MAC 10.7. and later. How do i get the updates to install and use JAVA ?

    In Snow Leopard you update Java from Software Update (in the Apple menu). You can check your version by opening Terminal and typing
    java -version
    (don't get creative and type anything else)
    The latest version is 1.6.0_65.

Maybe you are looking for

  • What is the Advantage of the IPad or Netbook?

    I think I would enjoy the Apple iPad but what advanages would I obtain from using the Ipad rather than my netbook? And as I have stated I am not computer or technology knowledable. So, what are some of the best reason I would enjoy the iPad rather th

  • Error oracle.apps.bne.exception in FSG and WEB ADI after upgrade

    Hi All, Hi, We have four Application Instances and one Database with R12.0.6 and DB version 11.1.0.7 with Load balancer Configuration. The Application is running fine with Load balancer configuration, But we are facing the below issue with report man

  • How to download byte[] array, stored in database, as a file?

    We use Spring framework to develop our online system. Users now can upload their files. Data is stored in PostrgreSQL DB and associated with byte[] type attribute of a java class (through Hibernate). How can I perfom invert operation - transform a by

  • IPAD 2 in Argentina

    If i buy one IPAD2 with 3G, in USA, which model, AT&T or Verizon, should I buy to use in Argentina? Thanks

  • Windows error notice when trying to open ELEMENTS download in MacBook Pro

    I successfully downloaded ELEMENTS 11 onto my Mac desktop, and it works fine. I then attempted downloading onto my MacBook Pro, and it appeared to download all elements of the bundle appropriately. However, when I try to open ELEMENTS, it shows a box