Sie sind auf Seite 1von 18

JavaCCEinfuehrung http://www.scribd.

com/doc/4968879/JavaCCEinfuehrung

Scribd

Explore
Community

Upload a Document
Search Books, Presentations, Business, Academics...

Adnane Bousfiha
My Home
View Public Profile
My Documents
My Collections
Messages
Settings
Help
Log Out

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

1 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

Marco Maniscalco
Hochschule für Technik Stuttgart

20. Februar 2007

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

2 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

Inhaltsverzeichnis

1 Einleitung ............................................................................... 3

2 Lexikalische Analyse ................................................................ 4


2.1 Token Typ .................................................................................... 5
2.2 Leerzeichen ..................................................................................5
2.3 Reguläre Ausdrücke ..................................................................... 6
2.4 Token Strom ................................................................................ 7

3 Syntaktische Analyse ............................................................... 8


3.1 EBNF ............................................................................................8
3.2 Eigenschaften der Funktionen....................................................... 9
3.3 Rekursiver Abstieg ........................................................................ 9

4 Semantische Aktionen .......................................................... 11

5 Fazit ..................................................................................... 13

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

3 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

1 Einleitung

Übersetzer und Interpreter trifft man heutzutage an vielen Stellen der Informatik an.
Im Gegensatz zu den frühen siebziger Jahren, als Übersetzer fast ausschließlich zum
Übersetzen von Programmiersprachen verwendet wurden, wird heute eine große
Anzahl von Problemen mit moderner Übersetzer Technologie angesprochen. Das
Erkennen einer Datenstruktur und Transformieren, beziehungsweise Übersetzen, in
eine andere Form steht hierbei im Fordergrund. Anwendungen sind hierfür Hoch-
sprachen, Skriptsprachen, Datenstrukturen mit flexiblem Format und jegliche Daten,
die mit Hilfe von grammatikalischen Regeln beschrieben werden können.
Längst entwickelt man die einzelnen Bestandteile eines Übersetzers oder Interpreters
nicht mehr von Hand. Vielmehr kommen hier leistungsfähige Werkzeuge zum Ein-
satz, die wiederkehrende oder modellierbare Tätigkeiten automatisieren können und
somit wertvolle Arbeitszeit sparen. JavaCC1 (Java Compiler Compiler) ist ein solches
Werkzeug, das die wichtigsten Komponenten eines Übersetzers automatisch erzeu-
gen kann. Hierzu gehören zunächst die lexikalische Analyseeinheit und der Parser.
Beide Komponenten werden benötigt um eine Struktur innerhalb von beliebigen
Daten zu erkennen. Die lexikalische Analyseeinheit erkennt lexikalische Fragmente,
so genannte Tokens, dies sind Textfragmente denen bestimmte Eigenschaften zu-
geordnet werden. Der Parser erkennt anhand dieser Tokens syntaktische Strukturen
indem er grammatikalische Regeln überprüft. Des Weiteren ist er in der Lage Syntax-
fehler zu erkennen, beziehungsweise zu lokalisieren.
JavaCC bietet die Möglichkeit, die eben genannten Komponenten automatisch zu
erzeugen, so dass bei der Lösung eines Problems der Fokus auf dem eigentlichen
Problem liegen kann. Als Eingabe fordert JavaCC hierbei eine lexikalische Spezifika-
tion der zu erkennenden Eingabedaten und eine syntaktische Spezifikation der Ein-
gabesprache. Des Weiteren können semantische Aktionen definiert werden, die
entweder während, oder nach dem Erkennen der Baumstruktur ausgeführt werden.
Der folgende Artikel befasst sich sowohl mit der lexikalischen und syntaktischen
Spezifikationen, als auch mit den semantischen Aktionen und deren Verwendung.
Die Grundlagen und Eigenschaften von JavaCC werden vor dem Hintergrund prakti-
scher Beispiele erläutert und ein Überblick über die wichtigsten Merkmale gegeben.

/ 14

al! Post a message on your


1
social networks to let others know what you're reading. Select the sites below and
https://javacc.dev.java.net

nt edit preferences
nt for Free

4 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

5 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

6 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

7 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

8 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

9 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

10 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

11 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

12 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

13 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

nt edit preferences
nt for Free

14 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

Reads:
401
Uploaded:
08/23/2008
Category:
Uncategorized.
Tags:
javacc syntax
Rated:

(2 Ratings)
Download this Document for FreePrintMobileCollectionsReport Document
This is a private document.

germama

Ads by Google

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

Sign Up for an Ad-Free Scribd


nt edit preferences
Remove all ads.
nt for Free

15 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

Never see ads on Scribd again.

No Thanks

Share & Embed

Link / URL: http://www.scribd.com/do


Embed Size & Settings:

Width: (auto) Auto


Height: 300
Start on page: 1
Preview View:

<a title="View JavaCCEi

1. 14 p.

SPSS: Praxis-Leitfaden

Reads: 15

1 p.

Bugs in v. 16.0.1 German 1b

Reads: 0

1. 1 p.

Serialisierungs Benchmark

/ 14 From: germama

Reads: 187

31 p.
al! Post a messagePresentation
on your social networks to let others know what you're reading. Select the sites below and

From: germama

Reads: 37

31 p.

Cooperation Ant System Presenta...

From: germama
nt edit preferences
nt for Free

16 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

Reads: 71

2. 46 p.

CooperationAntSystem

From: germama

Reads: 333

16 p.

Stochastik

From: germama

Reads: 297

17 p.

Semantic Actions withJavaCC

From: germama

Reads: 349

3. 14 p.

JavaCCEinfuehrung

From: germama

Reads: 396

Add a Comment

/ 14

al! Post a message on your social networks to let others know what you're reading. Select the sites below and

Submit
nt edit preferences
nt for Free

17 von 18 11.09.2010 20:58


JavaCCEinfuehrung http://www.scribd.com/doc/4968879/JavaCCEinfuehrung

Quang Khai Nguyen readcast this 07 / 14 / 2010Learn more about Readcast.


Upload a Document
Search Books, Presentations, Business, Academics...

Scribd

About
Press
Jobs
Contact
Blog
Scribd Store

Legal

Terms - General
Terms - API
Terms - Privacy
Copyright

Help & Tools

Getting Started
Community Guidelines
Support & FAQ
Web Stuff

Partners

Partners
Branded Reader
Developers / API

Subscribe to Us

On Scribd
/ 14
On Twitter
On Facebook

What's New

al! Post a message on your social networks to let others know what you're reading. Select the sites below and
We have updated our Terms of Service
Branded Reader
Desktop Uploader

nt edit preferences
nt for Free

18 von 18 11.09.2010 20:58