Sven, I just saw your response in the archives (I only now joined xtext-dev). Yes, our goal is to have a parser and editor based on an Xtext grammar. We're trying to get away from manually written parsers.
Jay On Mon, Jun 20, 2016 at 2:36 PM, kaspergam <[email protected]> wrote: > I am an intern working on the Eclipse Advanced Visualization Project > (EAVP), and we are using Xtext to parse files and import them into our data > structures. Using Xtext, I was able to fairly easily accomplish this task > with STL files STL (file format) - Wikipedia, the free encyclopedia > <https://en.wikipedia.org/wiki/STL_(file_format)>. This is because STL > has keywords followed by data, which is a simple Xtext grammar to write. > > > [image: image] <https://en.wikipedia.org/wiki/STL_(file_format)> > > > > > > STL (file format) - Wikipedia, the free encyclopedia > <https://en.wikipedia.org/wiki/STL_(file_format)> > STL (STereoLithography) is a file format native to the stereolithography > CAD software created by 3D Systems.[1][2][3] STL has several after-the-fact > backronyms such... > View on en.wikipedia.org <https://en.wikipedia.org/wiki/STL_(file_format)> > Preview by Yahoo > > However, we are now focusing on IGES (Initial Graphics Exchange > Specification) geometry files, which are not as easy to parse. The IGES > files are ASCII records with 80 characters per line. These lines need to be > split by either length (in characters) or by a delimiter. It seems > difficult to get Xtext to read in files line by line or even character by > character. More information on IGES can be found here: IGES - Wikipedia, > the free encyclopedia <https://en.wikipedia.org/wiki/IGES> > > > [image: image] <https://en.wikipedia.org/wiki/IGES> > > > > > > IGES - Wikipedia, the free encyclopedia > <https://en.wikipedia.org/wiki/IGES> > The Initial Graphics Exchange Specification (IGES) (pronounced eye-jess) > is a vendor-neutral file format that allows the digital exchange of > information among compu... > View on en.wikipedia.org <https://en.wikipedia.org/wiki/IGES> > Preview by Yahoo > > The main difficulty is deciding the type of line the parser is currently > reading. There are sections to the file, and the current section is > specified by the 73rd character per line. I cannot find a way to easily > read this character before starting to parse the rest of the line. For > example, here is the file on the Wikipedia page: > > S > 1 > 1H,,1H;,4HSLOT,37H$1$DUA2:[IGESLIB.BDRAFT.B2I]SLOT.IGS;, G > 1 > 17HBravo3 BravoDRAFT,31HBravo3->IGES V3.002 (02-Oct-87),32,38,6,38,15, G > 2 > 4HSLOT,1.,1,4HINCH,8,0.08,13H871006.192927,1.E-06,6., G > 3 > 31HD. A. Harrod, Tel. 313/995-6333,24HAPPLICON - Ann Arbor, MI,4,0; G > 4 > 116 1 0 1 0 0 0 0 1D > 1 > 116 1 5 1 0 0D > 2 > 116 2 0 1 0 0 0 0 1D > 3 > 116 1 5 1 0 0D > 4 > 100 3 0 1 0 0 0 0 1D > 5 > 100 1 2 1 0 0D > 6 > 100 4 0 1 0 0 0 0 1D > 7 > 100 1 2 1 0 0D > 8 > 110 5 0 1 0 0 0 0 1D > 9 > 110 1 3 1 0 0D > 10 > 110 6 0 1 0 0 0 0 1D > 11 > 110 1 3 1 0 0D > 12 > 116,0.,0.,0.,0,0,0; 1P > 1 > 116,5.,0.,0.,0,0,0; 3P > 2 > 100,0.,0.,0.,0.,1.,0.,-1.,0,0; 5P > 3 > 100,0.,5.,0.,5.,-1.,5.,1.,0,0; 7P > 4 > 110,0.,-1.,0.,5.,-1.,0.,0,0; 9P > 5 > 110,0.,1.,0.,5.,1.,0.,0,0; 11P > 6 > S 1G 4D 12P 6 T > 1 > > Here I need to skip the S and G rows, and after that read each number from > the D rows into fields- every 8 characters holds a record (after removing > white-space). The P rows need to be read in as comma separated values, where > the last bit (#P #) is ignored. This is only a primitive parse of this > file, but still good enough to read in the critical data. Do you think Xtext > will be helpful or even usable to parse this kind of file? What kind of > grammar could we write to handle these problems? Any help would be > appreciated! > > Thank you so much, > Kasper Gammeltoft > Oak Ridge National Laboratory, > Computer Science and Mathematics Division, > Computer Science Research Group > (865)-696-6625 > [email protected] > > > _______________________________________________ > eavp-dev mailing list > [email protected] > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/eavp-dev > > -- Jay Jay Billings Oak Ridge National Laboratory Twitter Handle: @jayjaybillings
_______________________________________________ xtext-dev mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/xtext-dev
