[jboss-cvs] jboss-seam ...
Gavin King
gavin.king at jboss.com
Wed Jan 10 13:40:54 EST 2007
User: gavin
Date: 07/01/10 13:40:54
Modified: jboss-seam seam-text.g
Log:
headings
Revision Changes Path
1.7 +38 -23 jboss-seam/seam-text.g
(In the diff below, changes in quantity of whitespace are not shown.)
Index: seam-text.g
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/seam-text.g,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- seam-text.g 10 Jan 2007 07:31:47 -0000 1.6
+++ seam-text.g 10 Jan 2007 18:40:54 -0000 1.7
@@ -6,7 +6,7 @@
class P extends Parser;
options
{
- k=2;
+ k=3;
}
{
private int newLinesSinceWord = 0;
@@ -25,15 +25,16 @@
}
}
-startRule: { append("<p>\n"); }
- text
- { append("\n</p>\n"); }
+startRule: ( (heading)? text (heading text)* )?
+ ;
+
+text: { append("<p>\n"); } (plain|formatted|preformatted|quoted|para|span|list)+ { append("\n</p>\n"); }
;
-text: (word|punctuation|formatting|escape|space|para|span|list)*
+plain: word|punctuation|escape|space
;
-formatting: bold|underline|italic|monospace|superscript|deleted|preformatted|quoted
+formatted: bold|underline|italic|monospace|superscript|deleted
;
word: w:WORD { append( w.getText() ); newLinesSinceWord=0; }
@@ -67,32 +68,32 @@
;
bold: STAR { append("<b>"); }
- (word|punctuation|escape|underline|italic|monospace|superscript|deleted|space|newline)+
+ (plain|underline|italic|monospace|superscript|deleted|newline)+
STAR { append("</b>"); }
;
underline: UNDERSCORE { append("<u>"); }
- (word|punctuation|escape|bold|italic|monospace|superscript|deleted|space|newline)+
+ (plain|bold|italic|monospace|superscript|deleted|newline)+
UNDERSCORE { append("</u>"); }
;
italic: SLASH { append("<i>"); }
- (word|punctuation|escape|bold|underline|monospace|superscript|deleted|space|newline)+
+ (plain|bold|underline|monospace|superscript|deleted|newline)+
SLASH { append("</i>"); }
;
monospace: BAR { append("<tt>"); }
- (word|punctuation|escape|bold|underline|italic|superscript|deleted|space|newline)+
+ (plain|bold|underline|italic|superscript|deleted|newline)+
BAR { append("</tt>"); }
;
superscript: HAT { append("<sup>"); }
- (word|punctuation|escape|bold|underline|italic|monospace|deleted|space|newline)+
+ (plain|bold|underline|italic|monospace|deleted|newline)+
HAT { append("</sup>"); }
;
deleted: MINUS { append("<del>"); }
- (word|punctuation|escape|bold|underline|italic|monospace|superscript|space|newline)+
+ (plain|bold|underline|italic|monospace|superscript|newline)+
MINUS { append("</del>"); }
;
@@ -102,29 +103,41 @@
;
quoted: DOUBLEQUOTE { append("<quote><p>"); newLinesSinceWord=0; }
- (word|punctuation|escape|bold|underline|italic|monospace|superscript|deleted|preformatted|space|para|span)*
+ (plain|formatted|preformatted|para|span|list)*
DOUBLEQUOTE { append("</p></quote>"); newLinesSinceWord=0; }
;
+heading: ( h1 | h2 | h3 ) newline
+ ;
+
+headingText: (plain|formatted)+
+ ;
+
+h1: PLUS { append("<h1>"); } headingText { append("</h1>"); }
+ ;
+
+h2: PLUS PLUS { append("<h2>"); } headingText { append("</h2>"); }
+ ;
+
+h3: PLUS PLUS PLUS { append("<h3>"); } headingText { append("</h3>"); }
+ ;
+
list: olist | ulist
;
+listItemText: (plain|bold|underline|italic|monospace|superscript|deleted)*
+ ;
+
olist: para { append("<ol>\n"); } (olistItem)+ { append("</ol>\n"); }
;
-olistItem: HASH { append("<li>"); newLinesSinceWord=0; }
- (word|punctuation|escape|bold|underline|italic|monospace|superscript|deleted|space)*
- { append("</li>"); }
- para
+olistItem: HASH { append("<li>"); newLinesSinceWord=0; } listItemText { append("</li>"); } para
;
ulist: para { append("<ul>\n"); } (ulistItem)+ { append("</ul>\n"); }
;
-ulistItem: EQ { append("<li>"); newLinesSinceWord=0; }
- (word|punctuation|escape|bold|underline|italic|monospace|superscript|deleted|space)*
- { append("</li>"); }
- para
+ulistItem: EQ { append("<li>"); newLinesSinceWord=0; } listItemText { append("</li>"); } para
;
space: s:SPACE { append( s.getText() ); }
@@ -148,7 +161,9 @@
(
(
GT { append(">"); }
- { newLinesSinceWord=0; } text { newLinesSinceWord=0; }
+ { newLinesSinceWord=0; }
+ (plain|formatted|preformatted|quoted|newline|span|list)*
+ { newLinesSinceWord=0; }
LT SLASH WORD GT { append("</" + tag.getText() + ">"); }
)
| (
More information about the jboss-cvs-commits
mailing list