This is an old revision of the document!


Laborator 3 - Jison

Jison este un generator de parsere pentru javascript. Acesta are sintaxa similara cu Flex si Yacc.

Instalarea Jison

Instalarea jison se poate face fie local in directorul proiectului folosind

npm install jison

fie global folosind

npm install -g jison

Lexer

npm install -g jison-lex

Exemplu

O să construim cu ajutorul unui lexer, un program simplu care calculează suma mai multor numere.

Pentru început, definim lexerul:

sum.lex
%%
[0-9]+	return 'NUMBER';
'+'	return '+';
' '+	return 'SPACE';
%%

Generăm un fișier js din acesta:

jison-lex sum.lex

Observăm că a apărut un nou fișier numit sum.js.

Acest fișier trebuie modificat astfel:

  • se șterge tot conținutul funcției parseError și se lasă doar throw new Error(str);
  • la sfârșitul fișierului trebuie adăugată următoarea linie exports.nume_fisier = nume_fisier, unde nume_fisier reprezintă numele fișierului anterior, fără extensie; în cazul nostru, sum.
cpl-atm/laboratoare/laborator3.1383304103.txt.gz · Last modified: 2013/11/01 13:08 by laura.vasilescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0