## org.eclipse.emf.importer.rose.parser
Class RoseParser

    java.lang.Object
      org.eclipse.emf.importer.rose.parser.RoseParser

    public class RoseParser

extends java.lang.Object

A parser for Rose files. This parser uses the following contex-free grammar:

       E  -> ( O )  |  ( L )  |  ( V )  |   S'  ;expression
       S' -> S  |  "|" S'                       ;sequence of strings
       S" -> EPS | S' S"                        ;sequence of strings inside list
       O  -> object S P'                        ;object
       V  -> value S S'                         ;value
       P' -> EPS  |  P P'                       ;sequence of pairs
       P  -> K E                                ;pair
       L  -> list S O' | list S S"              ;list
       O' -> EPS  |  ( O ) O'                   ;sequence of objects

Here are the terminals:

       K      is a key token (always one word)
       S      is a string token (can have multiple words)
       object is an object token
       list   is a list token
       "|"    is a vertical bar token
       EPS    is an empty string token

Field Summary
`protected java.lang.String` `baseId`
`protected java.util.Stack<java.lang.Integer>` `idStack`
`protected boolean` `isAllowed`
`protected boolean` `isListMapping`
`protected boolean` `isRoot`
`protected boolean` `isTreeOnly`
`protected RoseLexer` `lexer`
`protected boolean` `mapProperties`
`protected RoseNode` `modelTree`
`protected boolean` `noLogicalPresentation`
`protected RoseNode` `versionTree`

Constructor Summary
`RoseParser(RoseLexer lexer)`
`RoseParser(RoseLexer lexer, boolean isTreeOnly)`
`RoseParser(RoseLexer lexer, boolean isTreeOnly, boolean noPresentation)`

Method Summary
`RoseNode` `getModelTree()`
`RoseNode` `getVersionTree()`
`void` `parse()`
`void` `traverseTree(java.util.List<java.lang.Integer> path)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### lexer

    protected RoseLexer lexer

### versionTree

    protected RoseNode versionTree

### modelTree

    protected RoseNode modelTree

### baseId

    protected java.lang.String baseId

### idStack

    protected java.util.Stack<java.lang.Integer> idStack

### isTreeOnly

    protected boolean isTreeOnly

### isAllowed

    protected boolean isAllowed

### isRoot

    protected boolean isRoot

### isListMapping

    protected boolean isListMapping

### noLogicalPresentation

    protected boolean noLogicalPresentation

### mapProperties

    protected boolean mapProperties

Constructor Detail

### RoseParser

    public RoseParser(RoseLexer lexer)

### RoseParser

    public RoseParser(RoseLexer lexer,
                      boolean isTreeOnly)

### RoseParser

    public RoseParser(RoseLexer lexer,
                      boolean isTreeOnly,
                      boolean noPresentation)

Method Detail

### getVersionTree

    public RoseNode getVersionTree()

### getModelTree

    public RoseNode getModelTree()

### parse

    public void parse()

### traverseTree

    public void traverseTree(java.util.List<java.lang.Integer> path)

Copyright 2001-2006 IBM Corporation and others. All Rights Reserved.