Den här frågan kanske är lite för omfattande för ett enkelt svar, men jag tar en chansning och frågar här ändå:
Finns det något enkelt sätt att gå igenom ett stycke javakod och identifiera vad som är
- reserverade ord
- variabler
- klassnamn
- konstanter
osv... ?
Jag sitter nämligen med ett javaprogram som ska byta namn på alla variabler i ett (godtyckligt) stycke javakod till något namn som antingen slumpas fram eller som man själv väljer (meningslöst program, men jag har alldeles för mycket tid över :) )
Så långt som jag har kommit så kan jag plocka ut alla ord på en rad och identifiera eventuella reserverade ord bland dessa, men när man sen ska särskilja variabler från klassnamn så vet jag inte riktigt hur jag ska fortsätta...
Grejen är att man behöver ha Java-syntaxens nomenklatur. Den ska finnas i dokumentationen/porteringsguiden för JVM. Det du vill göra är i princip samma sak som en kompilator gör.
Min rekommendation är alltså att du letar bland porteringsguiderna på Sun och kanske tittar lite på allmän information om kompilatorer och parsning.