«« ( Date ) »» // «« ( Thread ) »» // ri4pp - 2004

Re: \n u windows/dos okruzenju

by Pesic Ivan
petak, 26. novembar 2004 - 15:38.

Vasi leksicki analizatori moraju da prepoznaju i \n i \r\n kao new line.
analizator treba da ispravno obradjuje ulaz bez obzira da li je napisan
pomocu NetBean, Notepad-a, vi-a ili je ako je ulaz generisan tako sto je
neka java klasa ispisala ceo fajl.

Ok, jasno je da treba da radi nezavisno od fajla. Ja sam i stavio u drugu
sekciju .lex fajla direktivu %notunix koja (bi trebalo da...) lexseru kaze da i \r
i \n prepoznaje kao "newline" tj. \n. Meni takodje ne radi ispravno kad navedem
ovu direktivu i u regularnim izrazima koristim samo \n za kraj reda. Postoji
resenje da se napravi makro za kraj reda kao \n|\r\n pa da se svuda gde je
potrebno da se koristi novi red stavi ovaj makro. Ali ipak mi nije jasno zasto ne
funkcionise ova direktiva.

BTW, koja je komanda u dos/windows okruzenju za EOF (u kontekstu
System.in)?
Ctrl-C ili tako nesto?

CTRL-D koliko se ja secam...

Kontrolni kod kojim unosis EOF karakter je ^Z (CTRL-Z), CTRL-D je u
Unix-u.
Probaj u cmd promptu:
copy con test.txt<enter>
<unesi neki tekst u vise redova>
Kad hoces da zavrsis, pritisni CTRL-Z (tj. EOF) i <enter>
Probaj sa ^D i videces da ne radi! :)