![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Gast
Beiträge: n/a
|
mein Ziel ist,ein Eingabestream in einfache Grundbestandteile -Symbole
(engl. Token) -zu zerlegen.dazu defeniert man sich zuerst Symbolklassen , die einzelne Teilstrings kategorisieren. Die Beschreibung der Symbolklassen erfolgt durch reguleare Ausdrücke(). Eine Spezifikation der in Java moeglichen Symbolklassen kann man bei Sun in der offiziellen Sprachspezifikation nachlesen. nun will ich ein Interface erstellen , das für jede Symbolklassen eine eigene Regel in Form von Regulaeren Ausdrücken enthaelt . dazu soll ich die vorgefertige Datei JavaRulesIF.java. wie regulaere Ausdrücke in java verwendet werden,steht detailliert in der API-Dokumentation von java.util.regex.ebenso lohnt ich ein Blick die Anleitung von Sunn es wäre fein , wenn ich so eine Impllementierung davon per Email bekomme( yennahafida@web.de /** * Interface to obtain the rule set from * obtain your ruleset by accessing JavaRulesIF.rulesArray[i] */ import java.util.Arrays; import java.util.LinkedList; /** * This interface provides all regular expressions of the Java Syntax. * @author geissler */ public interface JavaRulesIF { public final String inputCharacter = /* any input character */; public final String notStar = /* any input character except star */; public final String notStarNotSlash = /* * any input character * except star or slash */; public final String uniCodeLetter = /* any unicode letter */; public final String uniCodeDigit = /* any unicode digit */; public final String javaLetter = /* * unicode letter or '$' or * '_' */ ; public final String javaLetterOrDigit = /* * unicode letter or * unicode digit or'$' * or '_' */; public final String nonZeroDigit = /* digit '1' to '9' */; public final String digit = /* digit '0' to '9' */; public final String hexDigit = /* * digit '0' to '9' or character * 'A' to 'F' or * character 'a' to 'f' */; public final String octalDigit = /* digit '0' to '7' */; public final String zeroToThree = /* digit '0' to '3' */; public final String decimalNumeral = "(0|" + nonZeroDigit + digit + "*)"; public final String hexNumeral = "(0(x|X)" + hexDigit + "+)"; public final String octalNumeral = "(0" + octalDigit + "+)"; public final String integerTypeSuffix = "(l|L)"; public final String exponentPart = "((e|E)" + "(\\+|-)?" + digit + "+)"; public final String floatTypeSuffix = "(f|F|d|D)"; public final String singleCharacter = "[^'\\\\]"; public final String octalEscape = "\\\\" + "(" + octalDigit + octalDigit + "?" + "|" + zeroToThree + octalDigit + octalDigit + ")"; public final String escapeSequence = "(\\'|\\\\\"|\\b|\\r|\\n|\\t|\\f|\\\\|\\(" + octalEscape + |
|
|
|
Nach oben #3 |
|
Projektleiter
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.091
|
Hast du dir schonmal SableCC / JavaCC angesehen? Eventuell sind die ja genau das richtige für dich.
__________________
Patrick Gotthardts Weblog. |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Include Pfad in der PHP.ini festlegen | kampfgnom | PEAR, PECL und Frameworks | 5 | 20.07.2007 07:35 |
| Datentyp von Objekteigenschaften festlegen, eine Variante mit __get()/__set() | Ben | PHP-Programmierung | 2 | 02.06.2006 16:59 |
| Arbeitsverzeichnis eines Prozesses festlegen | ehli75 | Allgemeine Java-Programmierung | 3 | 27.10.2005 15:44 |
| JButton größe festlegen | Souljumper | Desktop-Applikationen und Grafik | 5 | 02.07.2005 15:42 |
| JTable setValueAt festlegen auf einzelne Rows | McSnoop | Allgemeine Java-Programmierung | 3 | 04.02.2005 14:50 |