public void getAttributes(Expression e, HashMap<String, ArrayList<String>> attrsTable)
	{
		String type=e.getType();
		if(whichUnary(type)!=null)
		{
		
				getAttributes(e.getSubexpression(),attrsTable);
			
		}
		else if(whichBinary(type)!=null)
		{
			getAttributes(e.getSubexpression("left"),attrsTable);
			getAttributes(e.getSubexpression("right"),attrsTable);
		}
		else
		{
			if(type=="identifier")
			{
				String s=e.getValue();
				String t=s.substring(0, s.indexOf('.'));
				if(attrsTable.containsKey(t))
				{
					ArrayList<String> tt=attrsTable.get(t);
					String x=s.substring(s.indexOf('.')+1,s.length());
					if(tt.contains(x))
					{
						
					}
					else
					{
						attrsTable.get(t).add(x);
					}
					
				}
				else
				{
					ArrayList<String> a=new ArrayList<String>();
					a.add(s.substring(s.indexOf('.')+1,s.length()));
					attrsTable.put(t, a);
				}
			}
			else
			{
				
			}
		}
	}