Grammars and Parsing

Hi everyone
I'm trying to encode grammar rules so that I can build an application that recognizes whether a particular string is belongs to a particular language or not.
The grammar I have is:
Set := "{" Elementlist "}"
Elementlist := <empty> | List
List := Element | Element "," List
Element := Atom | Set
Atom := "{" | "}" | ","
I've spent quite some time trying to get this work but It always fails on me! This is for a dynamic programming assignment.
Cheers!

List := Element | Element "," List
Atom := "{" | "}" | ","
Those two could be problematic since your parser might see
- Element "," List
as - Element Atom List,
which is not in the grammar.
Sometimes it's easier to take a few lines of code and generate a grammar from the code. Do you have any code you're creating this grammar for?

Similar Messages

  • Verifying and parsing "query" in cm:select query="..." ...

    I'm writting a session EJB that's passed a param (String query) which is supposed
    to be any valid "query" string passed to the cm:select tag (see "http://edocs.bea.com/wlcs/docs31/p13ndev/jsptags.htm#1057716"
    for more info on this tag and the query param).
    My problem is this: I don't think I should write ALL the stuff to validate and
    parse this string because bea has already done it in: com.beasys.commerce.foundation.expression.*;
    but the only source of documentation available on those classes is the Javadoc(which
    isn't that complete). Has anyone used these classes before(Search, Expression,
    Criteria, Logical)? Does anyone know of some documents on how to use them?
    Please help if you can. I'd really appreciate it. Thanks.

    rajan please just google or search SDN. there are large number of post for this..
    to give you a head start: for using a particular index in the select query a %_HINTS ORACLE 'INDEX clause is added

  • Repeated retrieval and parsing of XML file causes IE to display an error message

    I have a flash application that makes a HTTP call every 120
    seconds to retrieve a xml file. This file is being generated with
    fresh data every few minutes or so and pushed to the apache web
    root with a unix mv command.
    I'm using the standard Flash XML object. The HTTP request is
    NOT over SSL (I know there is a bug related to this). Here is the
    code to make the retrieval:
    xmlData = null;
    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = xmlTraverse;
    xmlData.load("
    http://domain/dir/somefile.xml");
    The "xmlTraverse" method was written by my team. There is no
    known bug in the parsing logic.
    Intermittently and unpredictably, IE will display the
    following dialogue box:
    "A script in this movie is causing Macromedia Flash Player 8
    to run slowly. If it continues to run, your computer may become
    unresponive. Do you want to abort the script?"
    I originally leaned toward an infinite loop causing this
    problem. The timeline jumps back and forth between two frames,
    checking in the latter frame if the xml has been loaded and parsed
    before allowing execution to move to the next frame. I hardcoded
    the loop check to always be false, but this did not produce the
    message above (although it pegged my CPU).
    The only scenario where I've managed to reproduce the message
    above is by making a huge (50 MB) xml file. This consistently
    produces the message. But I don't realistically see how our xml
    file could ever be over 1 MB.
    First, can anyone cite another cause for this message? I'm
    starting to lean towards the issue lying in our parsing logic such
    as infinite recursion on a badly formed XML file. Second, does
    anyone know of a solid xml SAX parsing actionscript utility where
    you can assign callbacks to XML nodes? If the problem is in the
    parsing, we may have to replace our homegrown solution with
    something more robust and proven.

    Is it a recursive parsing function? I'm not sure about this,
    but I think this message pops up when there are more than 256
    iterations in a loop (I've read something about this 256 limit,
    that will end while loops if they exceed this, but with another
    error message... but again, I'm not totally sure about that).
    The message is typically for loops, but I don't know when it
    fires. Sometimes it appears for really 'small' loops when you're
    using the debugger (e.g. a for loop with 100 iterations), so maybe
    it is connected to the time a loop is running. You could place some
    trace statements in the xmlTraverse method, to see where the
    function was when the message occurs, or take the time the function
    needs and check if this might be related to the error.
    That's all I can come up with, guess there are people here
    with more insight to this...
    cheers,
    blemmo

  • Error in retrieving and parsing XML File

    Hi Folks
    I am Working on People centric user interface, While i am custimizing a application in Business application Builder i am getting this error
    " Error in retrieving and parsing XML File "
    can any body look on this and give me the solution
    it will be rewarded
    Regards
    M.S.Kumar

    Hello,
    As mentionned by SAP_TECH, avoid to use the BAB.
    Go to CRMC_BLUEPRINT_C and use the different option in the menu to customize the field group, toolbar group, events, ...
    Use the PCUI cookbook to find your way.
    Regards,
    Fred

  • Loading and parsing XML files

    I am currently working on an application in which I have a XML file that is 1.5 mb and has 1100 records that I need to load and parse. Loading takes less than a minute, but when I try to parse it with the DOM parser it's taking too much time. I am trying to put it into an array and then display it as if I'm tied to a database. I need a different approach. Does anyone have any experience and insight with the DOM parser? Would the SAX parser be a better way to go, why and how?

    You can use SAX... but SAX is good only if you want to read the data once.
    If you want to use the same data again and again then you might have to parse the file again... which prooves expensive.
    DOM will take too much of memory and CPU time.
    Have you tried using JDOM ? it is a new kind of a XML parsing utility that is quite lightweight and has good api to recurse the JDOM tree also.
    check it out at
    http://www.jdom.org.
    hope this helps.
    regards,
    Abhishek.

  • Reading email in outlook with c# and parsing the body

    Hello,
    I don't know where to start.
    The organization I work for uses different user web forms to collect user/client feedback. Instead of having those forms populate a table, they have them emailed to me as text in the body of an email for me to decide what to do with. My (local) boss wants
    me to upload the data into our CRM. Everyone expects me to do that by hand ( which is now getting out of hand :D.)
    I need to read an outlook 2010 email in a shared mailbox (to which I do not know the account password for mail server access) and parse the body data into a data table. 
    If I can get some help understanding how to access the individual email file(s) and read the data into a string array or something that achieves this result, I can take it from there.  All suggestions are welcome however going back to the admin who
    is in another country, won't make changes and doesn't speak english are not paths I can follow.
    My glass here, is half full with the opportunity to resolve this challenge. 

    Hello,
    You can develop a VBA macro for handling new emails in the shared mailbox. I'd suggest starting from the
    Getting Started with VBA in Outlook 2010 article. If you see a shared mailbox in your Outlook profile you can subscribe to the Inbox events (for example, ItemAdd) in the following way:
    Dim WithEvents myInboxMailItem As Outlook.Items
    Private Sub myInboxMailItem_ItemAdd(ByVal Item As Object)
    Call MsgBox("Item Added", vbOKOnly, "[email protected]")
    End Sub
    Private Sub Initialize_Handler()
    Dim fldInbox As Outlook.MAPIFolder
    Dim gnspNameSpace As Outlook.NameSpace
    Set gnspNameSpace = Outlook.GetNamespace("MAPI") 'Outlook Object
    Set fldInbox = gnspNameSpace.Folders("[email protected]").Folders("Inbox")
    Set myInboxMailItem = fldInbox.Items
    End Sub
    Private Sub Application_Startup()
    Call Initialize_Handler
    End Sub
    In the ItemAdd event handler you can get all the required information parse the message body. The Outlook object model provides
     three main ways for working with item bodies: Body, HTMLBody and WordEditor.

  • Using CDATA tags in XML program and parsing to J2ME

    Hi,
    Can anybody tell me how to use CDATA tag in a xml file and parse it to my J2ME code. is there any sample code available for this? I want to use this CDATA tag for sending Binary data. plzzzzzzz Help....!

    I think what you want is to parse a CDATA text from a xml file and let this text to execute.
    Very innovative idea!
    If I am right, I think you might mix some concept.
    Java code need to be changed to ByteCode before pased to the JVM. Furthermore, Java ME code must be verified before downloading to your machine.
    I figure that your attempt is impossible.

  • I/O Assistant Query and Parse problem.

    Hi,
    I am trying to use the I/O assistant with Instrument via the serial port (com1). When I use the query and parse option it only grabs the first line and parses it. For example, my command is "gc", my instrument by nature will echo that back to serial port and when the parse occurs it only receives the "gc" rather then the entire result. Using hyperterminal I get this below. What is important to me is the second line but I only read back gc for some reason with I/O assistant. Any way to parse entire result?
    tp gc
    version: gc.library 1.3.0.0 (2003.11.03)

    In your Query and Parse step you should see a termination character window. As explained in the help window when you move the mouse over the termination character window, this character terminates the read session. The default is \n or a line feed. When your instrument sends two lines, the first line ends with a line feed and the read stops before the second line is read. Set the term character to none to read the entire line. Your instrument probably requires a termination character at the end of the string you're sending so put the termination character in the command line (i.e. gc\n).

  • Grammar and spell check for mac user

    Hi I recently got IMAC 21'' with OS X 10.8.5 .
    I used to use Grammarly and Ginger it software  in my previous window computer. For non english speaking person those softwares were very useful to edit  ritings and email. Can anyone suggest whether I can install and use in my microsoft word in IMAC.
    If not,  are you aware about any  other software (spelling and  grammar checker)  which is compatible with OSX.
    I miss the ginger it . I love this MAc computer but miss to use those software. Any suggestions.
    PAnkaj

    You can download MS Office 2011 (Word, Excel, and PowerPoint) for $140 from Microsoft.  You could also download Pages (the Apple analogue to Word that reads and writes Word formatted files) for $20.  Some people are choosing to use LibreOffice, which is free and duplicates almost all of the Office 11 features.  So you have several choices from expensive to free.

  • Read CLOB and parse out records

    I have a table that features an XMLTYPE column containing CLOB data with XML and HTML content in it. I'm not quite sure how I can parse out the [CDATA] section and create a unique list of IDs contained within the javascript:openLink() string. Any ideas? I've tried searching the forums for how to read a CLOB and parse out each line, but didn't find the results I was looking for.
    I've provided a sample of some of the content in this column:
    <html><![CDATA[
    <P>
    <font face="Arial" SIZE="3">
    <strong>
    <span style="FONT-FAMILY: Arial">Recruiting</span>
    </strong>
    </font>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1010)">2008 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1009)">2007 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1008)">2006 Newsletters</A>
    </P>
    ]]></html>
    I basically need to output a list of IDs:
    LinkID
    1010
    1009
    1008

    Sorry...I thought I could figure things out based on your example, but I 'm not sure if 10g supports noentityescaping clause. Do you happen to know what I would need to substitute it with? To my understanding the XMLELEMENT function takes a name for "identifier," although I'm not quite sure in this case what the identifier should be...an XML tag value?
    This is SQL I tried to run but not getting any results:
    SELECT t2.*
    FROM (SELECT pagecontent
    FROM tb_rh_page
    WHERE pageid = 1) T,
    XMLTABLE('a/@href' PASSING XMLELEMENT(noentityescaping, EXTRACTVALUE(T.pagecontent,'/p_PAGECONTENT/Controls/divTopLeft/html/text()')).EXTRACT('//a')
    COLUMNS linkid integer PATH 'ora:replace(.,"[^[:digit:]]","")') t2
    Also the HTML is a little deeper in the XML than I originally posted, so I'm not sure if I'm getting to the path correctly.
    Here's what the data looks like in the column:
    <p_PAGECONTENT>
    <PageName/>
    <Title/>
    <Roles/>
    <Controls>
    <PageTool>
    <visible>false</visible>
    </PageTool>
    <divTopLeft>
    <visible>true</visible>
    <style>font-size:larger;overflow:auto;FILTER: progid:DXImageTransform.Microsoft.Gradient(StartColorStr=#3b6f9f, EndColorStr=#e6eff6);Height:560px;background-color:#003366;border-bottom-width: 1px;border-color: #c6ddf1;border-left-width: 1px;border-right-width: 1px;border-style: Solid;border-top-width: 1px;</style>
    <html><![CDATA[
    <P>
    <font face="Arial" SIZE="3">
    <strong>
    <span style="FONT-FAMILY: Arial">Recruiting</span>
    </strong>
    </font>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1010)">2008 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(1009)">2007 Newsletters</A>
    </P>
    <P>
    <A CLASS="divHyperLink" href="javascript:openLink(2008)">2006 Newsletters</A>
    </P>
    ]]></html>
    </divTopLeft>
    <divTopRight>
    <visible>false</visible>
    <style/>
    <html><![CDATA[]]></html>
    </divTopRight>
    <divBottomLeft>
    <visible>false</visible>
    <style/>
    <html><![CDATA[]]></html>
    </divBottomLeft>
    <divBottomRight>
    <visible>false</visible>
    <style/>
    <html><![CDATA[]]></html>
    </divBottomRight>
    </Controls>
    </p_PAGECONTENT>

  • Read CSV File and parse it

    Hi.
    I have a .csv file on my filesystem.
    Could you post few code to read it from filesystem and parse every rows in it?
    Thanks a lot.

    External tables are far easier to use... e.g.
    I have a file on my server in a folder c:\mydata called test.txt which is a comma seperated file...
    1,"Fred",200
    2,"Bob",300
    3,"Jim",50As sys user:
    CREATE OR REPLACE DIRECTORY TEST_DIR AS "c:\mydata";
    GRANT READ, WRITE ON DIRECTORY TEST_DIR TO myuser;Note: creates a directory object, pointing to a directory on the server and must exist on the server (it doesn't create the physical directory).
    As myuser:
    SQL> CREATE TABLE ext_test
      2    (id      NUMBER,
      3     empname VARCHAR2(20),
      4     rate    NUMBER)
      5  ORGANIZATION EXTERNAL
      6    (TYPE ORACLE_LOADER
      7     DEFAULT DIRECTORY TEST_DIR
      8     ACCESS PARAMETERS
      9       (RECORDS DELIMITED BY NEWLINE
    10        FIELDS TERMINATED BY ","
    11        OPTIONALLY ENCLOSED BY '"'
    12        (id,
    13         empname,
    14         rate
    15        )
    16       )
    17     LOCATION ('test.txt')
    18    );
    Table created.
    SQL> select * from ext_test;
            ID EMPNAME                    RATE
             1 Fred                        200
             2 Bob                         300
             3 Jim                          50
    SQL>
    {code}
    http://www.morganslibrary.org/reference/externaltab.html                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Importing CSV file and parsing it

    First of all I am very new to writing powershell code.  Therefore, my question could be very rudimentary, but I cannot find an answer, so please help.
    I'm trying to read a CSV file and parse it.  I cannot figure out how to access nth element without hardcoding its name.
    $data = Import-Csv $file   #import CSV file
    # read column headers (manually read the first row of the data file, or import it from other source, or ...)
    $file_dump = Get-Content $file  #OK, I'm sure there is another way to get just the first line, but that's not relevant
    $name_list = $file_dump[0].split(",")
    # access element
    $temp = $data[$i].Name  # works - but that's HARDCODING the column name into the script - what if someone changes it?
    #but what I want to do is
    $temp = $data[$i].$name_list[0]
    How do I do this in PowerShell?

    So you're asking how to get the first data point from the first column, no matter what the header is?
    Why won't you know what your input file looks like?
    You can always drop the first line of the file to remove the existing headers and then use the -Header parameter of Import-Csv to give yourself known headers to reference (this will only work if you know how many columns to expect, etc etc etc).
    http://ss64.com/ps/import-csv.html
    Don't retire TechNet! -
    (Don't give up yet - 13,085+ strong and growing)

  • Passing Arrylist from action class to jsp and parsing in jsp

    I need to do the following using struts
    I have input jsp, action class and action form associated to that. In the action class I will generate the sql based on the input from jsp page/action form, create a result set. The result set is stored as java objects in a ArrayList object.
    Now I need to pass the arraylist object to another jsp to display. Can I put the ArrayList object in the request object and pass to the success page defined for the action? If this approach is not apprpriate, please let me know correct approach.
    if this method is okay, how can I access the objects from arraylist in jsp and display their property in jsp. This java object is a java bean ( getter and setter methods on it).
    ( need jsp code)
    Can I do like this:
    <% ArrayList objList = (ArrayList)request.getattribute("lookupdata"): %> in jsp
    (***I have done request.setattribute("lookupdata", arraylistobj); in action class. ***)
    Assuming the java object has two properties, can I do the following
    <% for (iint i=0. i<objList.size;I++){ %>
    <td> what should i do here to get the first property of the object </td>
    <td> what should i do here to get the first property of the object </td>
    <% }
    %>
    if this approach is not proper, how can I pass the list of objects and parse in jsp?
    I am not sure what will be the name of the object. I can find out how many are there but i am not sure I can find out the name

    Double post.
    http://forum.java.sun.com/thread.jspa?threadID=5233144&tstart=0

  • Downloading and parsing XML during preload

    Apologies if this topic has already been covered but the
    search function on the forums doesn't appear to be working for me.
    My problem is this. I have a flex app that needs to download
    a couple of xml files during initialization that are approximately
    2-3 MB each. I'd like for the progress bar to continue showing
    until the files are downloaded and parsed and only after the files
    are downloaded and parsed, would the components start to be
    rendered since some of them will require the files to determine
    their look and feel.
    Any ideas or places I should look to in order to figure this
    out?
    Thanks
    Sang

    Greg_B,
    You could try and access the XML file via a file:// URI rather than an http:// one - this would not need the server to be started in order to get the xml/dtd loaded. You know the relative path to the dtd and xml files, and you can create a File object from there, so you can parse the xml file that way if you like.
    Here's some code to help:
    String filename = getServletContext().getRealPath("myXML.xml");
    You can then pass the filename string as a parameter to the XML (I'm assuming you're using DOM but if you aren't I think you'll still get my point) parse method.
    You can do all of this in the servlet's init() method, so it'll do that before it all loads up.
    Hope it helps
    Daniel

  • How to read and parse a comma delimited file?  Help

    Hi, does anyone know to read and parse a comma delimited file?
    Should I use StreamTokenizer, StringTokenizer, or the oro RegEx packages?
    What is the best?
    I have a file that has several lines of data that is double-quoted and comma delimited like:
    "asdfadsf", "asdfasdfasfd", "asdfasdfasdf", "asdfasdf"
    "asdfadsf", "asdfasdfasfd", "asdfasdfasdf", "asdfasdf"
    Any help would be greatly appreciated.
    thanks,
    Spack

    import java.util.*;
    import java.io.*;
    public class ResourcePortalParser
        public ResourcePortalParser()
        public Vector tokenize() throws IOException
          File reportFile = new File("C:\\Together5.5\\myprojects\\untitled2\\accessFile.txt");
         Vector tokenVector = new Vector();
          StreamTokenizer tokenized = new StreamTokenizer(new FileReader(reportFile));
         tokenized.eolIsSignificant(true);
              while (tokenized.nextToken() != StreamTokenizer.TT_EOF)
                   switch(tokenized.ttype)
                        case StreamTokenizer.TT_WORD :
                        System.out.println("Adding token - " + tokenized.sval);
                             tokenVector.addElement(tokenized.sval);
                             break;
              return tokenVector;
    [\code]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Maybe you are looking for

  • Report on GL Account Balance

    Hello Experts, I need to pull a report to display the GL Account balances for all the accounts per period. I tried FAGLB03 (FS10N), but it though it splits per period, it displays the total amount of all the accounts. I even tried S_ALR_87012277, but

  • Share reminders lists now that app is outside?

    I used to share reminders on icloud.com by finding the list on my calendar app. There was this feed icon and after clicking it you could send the invitation to share the reminders list, now icloud has the reminder app outside the calendar one and I c

  • 30 inch vs unknown 2009

    Hello there, I always wanted to have an 30 inch apple display. Love that thing... Now that i have found a two month used one, in good conditions i am afraid of byuing it. Mostly because i don't know if there are going to be new cinema displays on 200

  • One HD shows at sda and sdb [disregard I'm an idiot]

    I recently installed Windows XP to see if some problems freezing had to do with my OS or my hardware. Now I'm trying to reinstall arch and when I go to partition my HD it finds two HD's one only 8 gb and I only have one 500gb drive. How can I merge t

  • What do i do to stop my safari quitting unexpectedly?

    my safari keeps quitting with a 'while using cleanseuninstallerpro.tmp' error message.  please help.