compiler/PEGFsaGenerator.st
changeset 524 f6f68d32de73
parent 515 b5316ef15274
child 525 751532c8f3db
equal deleted inserted replaced
515:b5316ef15274 524:f6f68d32de73
   258     ^ fsa
   258     ^ fsa
   259 !
   259 !
   260 
   260 
   261 visitMessagePredicateNode: node
   261 visitMessagePredicateNode: node
   262     ^ self visitPredicateNode: node
   262     ^ self visitPredicateNode: node
       
   263 !
       
   264 
       
   265 visitNilNode: node
       
   266     "not much to do here..."
       
   267     | startState |
       
   268     startState  := PEGFsaState new.
       
   269     
       
   270     ^ PEGFsa new
       
   271         addState: startState;
       
   272         startState: startState;
       
   273         finalState: startState;
       
   274         yourself
   263 !
   275 !
   264 
   276 
   265 visitNode: node
   277 visitNode: node
   266     self error: 'node not supported'
   278     self error: 'node not supported'
   267 !
   279 !
   371 
   383 
   372 visitTokenNode: node
   384 visitTokenNode: node
   373     ^ self visit: node child
   385     ^ self visit: node child
   374 !
   386 !
   375 
   387 
       
   388 visitTokenWhitespaceNode: node
       
   389     ^ self visit: node child
       
   390 !
       
   391 
   376 visitTrimmingTokenCharacterNode: node
   392 visitTrimmingTokenCharacterNode: node
   377     "I do not care about trimming (so far), it should be handled by TokenCodeGenerator"
   393     "I do not care about trimming (so far), it should be handled by TokenCodeGenerator"
   378     ^ self visit: node child
   394     ^ self visit: node child
   379 !
   395 !
   380 
   396 
   381 visitTrimmingTokenNode: node
   397 visitTrimmingTokenNode: node
   382     "I do not care about trimming (so far), it should be handled by TokenCodeGenerator"
   398     "I do not care about trimming (so far), it should be handled by TokenCodeGenerator"
   383     ^ self visit: node child
   399     ^ self visit: node child
       
   400 !
       
   401 
       
   402 visitUnknownNode: node
       
   403     |  state fsa  |
       
   404     
       
   405     state := PEGFsaParserState new.
       
   406     state name: 'Unknown Parser'.
       
   407     state parser: node parser.
       
   408     
       
   409     fsa := PEGFsa new
       
   410         addState: state;
       
   411         
       
   412         startState: state;
       
   413         finalState: state;
       
   414 
       
   415         yourself.
       
   416         
       
   417     ^ fsa
   384 ! !
   418 ! !
   385 
   419