Springen naar inhoud

Parser software.


  • Log in om te kunnen reageren

#1

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 12 augustus 2010 - 10:06

Omdat ik verschillende grootte tekstbestanden moet omzetten naar andere tekstbestanden, waarvan ik de start en de doel grammatica ken (de opbouw) dacht ik dat het mss interessant is hiervoor een parser te gebruiken waar ik deze twee grammatica’s kan insteken.
Echter ik heb totaal geen ervaring met parser software (actief te gebruiken, passief natuurlijk wel) daarom mijn vraag heeft er iemand een idee met wat te starten?

Groeten.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Ger

    Ger


  • >5k berichten
  • 16502 berichten
  • Technicus

Geplaatst op 12 augustus 2010 - 11:22

Waar doel je precies op? Dat de layout aangepast moet worden, of dat het echt geconverteerd moet worden (zeg van Word naar LaTeX of OOo)? Is een wereld van verschil met een totaal ander antwoord. ;)
(Waarbij ik niet noodzakelijkerwijs het antwoord heb. ;) )
"Knowledge speaks, but wisdom listens."
- Jimi Hendrix -

#3

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 12 augustus 2010 - 11:40

Er zijn redelijk wat grammatica parsers op de markt, maar zelf in praktijk nog geen enkele gebruikt.

#4

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 12 augustus 2010 - 15:55

Probleem is de files komen uit de simulator (als out file van spice) deze waarden wil ik kunnen gebruiken in matlab. Het gaat dus over bestaanden zoal:

subckt																	 
element	m34			 m33			 m32			 m31			 
model	  nmos			nmos			nmos			nmos			

type	   nmos			nmos			nmos			nmos			
region	 Linear		  Linear		  Linear		  Linear		  
power	   5.5506e-005	 5.4566e-005	 5.3562e-005	 5.2493e-005	
id		  2.7753e-004	 2.7283e-004	 2.6781e-004	 2.6246e-004	
ibd		-1.9821e-013	-1.9825e-013	-1.9828e-013	-1.9832e-013	
ibs		-1.9443e-015	-1.9113e-015	-1.8762e-015	-1.8387e-015	
vgs		 3.3000e+000	 3.2000e+000	 3.1000e+000	 3.0000e+000	
vds		 2.0000e-001	 2.0000e-001	 2.0000e-001	 2.0000e-001	
vbs		 0.0000e+000	 0.0000e+000	 0.0000e+000	 0.0000e+000	
vth		 5.5482e-001	 5.5481e-001	 5.5480e-001	 5.5479e-001	
vdsat	   1.4624e+000	 1.4136e+000	 1.3650e+000	 1.3166e+000	
beta		7.2623e-004	 7.3973e-004	 7.5336e-004	 7.6712e-004	
gamma	   4.3980e-001	 4.3980e-001	 4.3980e-001	 4.3980e-001	
gm		  4.6353e-005	 4.9463e-005	 5.2731e-005	 5.6164e-005	
gds		 1.3078e-003	 1.2815e-003	 1.2536e-003	 1.2240e-003	
gmbs		2.3683e-005	 2.4258e-005	 2.4851e-005	 2.5465e-005	
cdtot	   6.2289e-015	 6.2222e-015	 6.2150e-015	 6.2070e-015	
cgtot	   4.3059e-015	 4.3057e-015	 4.3055e-015	 4.3053e-015	
cstot	   6.3145e-015	 6.3125e-015	 6.3103e-015	 6.3080e-015	
cbtot	   5.9599e-015	 5.9601e-015	 5.9603e-015	 5.9605e-015	
cgs		 2.2022e-015	 2.2051e-015	 2.2082e-015	 2.2116e-015	
cgd		 2.0598e-015	 2.0567e-015	 2.0533e-015	 2.0496e-015	
cb		 -2.0016e-013	-2.0016e-013	-2.0016e-013	-2.0016e-013	
cgb		 4.3873e-017	 4.3960e-017	 4.4056e-017	 4.4165e-017	
capbd	   2.4938e-015	 2.4938e-015	 2.4938e-015	 2.4937e-015	
capbs	   2.6729e-015	 2.6729e-015	 2.6730e-015	 2.6730e-015	
weff		2.3438e-006	 2.3438e-006	 2.3438e-006	 2.3438e-006	
leff		4.5010e-007	 4.5010e-007	 4.5010e-007	 4.5010e-007	
rdeff	   7.0000e+000	 7.0000e+000	 7.0000e+000	 7.0000e+000	
rseff	   7.0000e+000	 7.0000e+000	 7.0000e+000	 7.0000e+000	...

Deze files zijn leesbaar voor de mens maar het is een monique werk om bvb 34X34X20 werkingspunten, Ids en gm go enz ... uit te halen.

Groeten.

#5

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 12 augustus 2010 - 18:10

Dat is een bestand die je ook wel heel makkelijk kan parsen met een reguliere expressie of met een zelf geschreven parser die niet echt zeer ingewikkeld hoeft te zijn. Emacs zou bijvoorbeeld handig kunnen zijn om met reguliere expressies dit bestand om te vormen naar het formaat dat jij zou willen hebben.

#6

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 13 augustus 2010 - 13:45

Bedankt voor de tip.

Als ik bovenstaande in matlab in laad dan heb ik het probleem dat hij voor de eerste kolom het minteken niet mee neemt, dit voegt hij samen met de naam er voor.

Ik kan eventueel de eerste kolom met de namen er af doen maar ik heb wel eerst deze kolom een keer nodig. Kan ik eventueel met emac de eerste zoveel tekens verwijderen? van elke lijn?
Groeten.

#7

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 13 augustus 2010 - 15:39

Met een reguliere expressie kan dat uiteraard. Het zou zoiets zijn:

^.{11}(.*)$

Je kan dan met de variabele \1 het laatste deel terug laten outputten (exclusief de eerste 11 tekens dus).

Veranderd door Cycloon, 13 augustus 2010 - 15:40


#8

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 13 augustus 2010 - 20:31

Merci.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures