Skip to content

Commit 185135d

Browse files
author
Steve Ives
committed
Added a new loop utility expansion token <|>.
1 parent 4c8a835 commit 185135d

File tree

4 files changed

+13
-1
lines changed

4 files changed

+13
-1
lines changed

CodeGenEngine/TokenExpanders/TokenExpanderLoopUtility.dbl

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ namespace CodeGen.Engine
6666
loopUtilityTokenExpanders.Add("&&", expandLoopUtilAndCs)
6767
loopUtilityTokenExpanders.Add(".AND.", expandLoopUtilAndDbl)
6868
loopUtilityTokenExpanders.Add("AND", expandLoopUtilAndEnglish)
69-
loopUtilityTokenExpanders.Add("||", expandLoopUtilOrCs)
69+
loopUtilityTokenExpanders.Add("|", expandLoopUtilPipe)
70+
loopUtilityTokenExpanders.Add("||", expandLoopUtilOrCs)
7071
loopUtilityTokenExpanders.Add(".OR.", expandLoopUtilOrDbl)
7172
loopUtilityTokenExpanders.Add("OR", expandLoopUtilOrEnglish)
7273
loopUtilityTokenExpanders.Add("BSLASH", expandLoopUtilBackSlash)
@@ -158,6 +159,16 @@ namespace CodeGen.Engine
158159
mreturn ExpandLoopUtilityToken(tkn, template, loops, doExpand)
159160
endmethod
160161

162+
private static method expandLoopUtilPipe, string
163+
tkn, @Token
164+
template, @FileNode
165+
loops, @IEnumerable<LoopNode>
166+
endparams
167+
proc
168+
lambda doExpand(loop) (loop.CurrentIndex < loop.MaxIndex) ? "|" : String.Empty
169+
mreturn ExpandLoopUtilityToken(tkn, template, loops, doExpand)
170+
endmethod
171+
161172
private static method expandLoopUtilOrCs, string
162173
tkn, @Token
163174
template, @FileNode

CodeGenEngine/Tokenizer.dbl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ namespace CodeGen.Engine
247247
& { new TokenMeta() {Name = "&&", TypeOfToken = TokenType.LoopUtility, IsPaired = false, Validity = TokenValidity.AnyLoop} },
248248
& { new TokenMeta() {Name = ".AND.", TypeOfToken = TokenType.LoopUtility, IsPaired = false, Validity = TokenValidity.AnyLoop} },
249249
& { new TokenMeta() {Name = "AND", TypeOfToken = TokenType.LoopUtility, IsPaired = false, Validity = TokenValidity.AnyLoop} },
250+
& { new TokenMeta() {Name = "|", TypeOfToken = TokenType.LoopUtility, IsPaired = false, Validity = TokenValidity.AnyLoop} },
250251
& { new TokenMeta() {Name = "||", TypeOfToken = TokenType.LoopUtility, IsPaired = false, Validity = TokenValidity.AnyLoop} },
251252
& { new TokenMeta() {Name = ".OR.", TypeOfToken = TokenType.LoopUtility, IsPaired = false, Validity = TokenValidity.AnyLoop} },
252253
& { new TokenMeta() {Name = "OR", TypeOfToken = TokenType.LoopUtility, IsPaired = false, Validity = TokenValidity.AnyLoop} },

Documentation/CodeGen.chm

-84 Bytes
Binary file not shown.

Documentation/CodeGen.hsm

1.59 KB
Binary file not shown.

0 commit comments

Comments
 (0)