JEP (singularsys)

ROCKSCHTAR

Grünschnabel
Moin

ich habe mal eine Frage an die jenigen, die die JEP-Bibliothek von singularsys schonmal benutzt haben:
Beim aufruf der Parse-Methode erstellt JEP mir einen Knotenbaum. Man kann dort auch alles wunderbar auslesen (Operatoren, Zahlen, Variablen etc.) außer die Klammern. Kann mir jemand sagen, wie ich an diese rankomme (möglichst im Baum).
Habe schon alles durchgegooglet und die Documentation von singularsys ist ziehmlich dürftig :(

Hoffe es kann mir jemand helfen
Gruß
 
So sieht es momentan aus. Habe so ziehmlich alles reingeknallt, was die Bibliothek so hergibt...

Java:
	public void parse()
	{		
		String expression = m_xView.getExpression();
		try
		{
			Jep xJep = new Jep();
			StandardConfigurableParser xConfigurableParser = new StandardConfigurableParser();
			xConfigurableParser.addGrammarMatcher( new GramMatcher() );
			xConfigurableParser.addTokenMatcher( new TokenMatcherImpl() );
			xConfigurableParser.addSymbols( "(", ")" );
			xConfigurableParser.setImplicitMultiplicationSymbols( "(" );
			xConfigurableParser.addIdentifiers();
			xConfigurableParser.addBracketMatcher( "(", ")" );			
			xJep.setComponent( xConfigurableParser );
			
			Node xNode = xJep.parse( expression );
			
			DefaultMutableTreeNode xRoot = m_xView.getRootNode();
			printNodeInformation( xNode, xRoot );
			for( int i = 0; i < m_xView.tree.getRowCount(); i++ )
			{
				m_xView.tree.expandRow( i );
			}
		}
		catch( Exception ex )
		{
			ex.printStackTrace();
		}
	}

	private void printNodeInformation( 
			Node in_xNode, DefaultMutableTreeNode in_xTreenode )
	{
		if( in_xNode.jjtGetNumChildren() == 0 )
		{
			return;
		}
		
		Iterator< Node > x = in_xNode.children().iterator();
		
		while( x.hasNext() )
		{
			Node y = x.next();			
			String strNodeText = y.getName();
			if( y.getName() == null || y.getName().equals( "" ) )
			{
				strNodeText = "" + y.getValue();
			}
			
			DefaultMutableTreeNode xNewNode = new DefaultMutableTreeNode( new NodeObject( y ) );
			in_xTreenode.add( xNewNode );
			
			printNodeInformation( y, xNewNode );
		}
	}
 
Zurück