compiler/PEGFsaGenerator.st
changeset 525 751532c8f3db
parent 518 a6d8b93441b0
parent 524 f6f68d32de73
child 532 132d7898a2a1
equal deleted inserted replaced
523:09afcf28ed60 525:751532c8f3db
   266     ^ fsa
   266     ^ fsa
   267 !
   267 !
   268 
   268 
   269 visitMessagePredicateNode: node
   269 visitMessagePredicateNode: node
   270     ^ self visitPredicateNode: node
   270     ^ self visitPredicateNode: node
       
   271 !
       
   272 
       
   273 visitNilNode: node
       
   274     "not much to do here..."
       
   275     | startState |
       
   276     startState  := PEGFsaState new.
       
   277     
       
   278     ^ PEGFsa new
       
   279         addState: startState;
       
   280         startState: startState;
       
   281         finalState: startState;
       
   282         yourself
   271 !
   283 !
   272 
   284 
   273 visitNode: node
   285 visitNode: node
   274     self error: 'node not supported'
   286     self error: 'node not supported'
   275 !
   287 !
   379 
   391 
   380 visitTokenNode: node
   392 visitTokenNode: node
   381     ^ self visit: node child
   393     ^ self visit: node child
   382 !
   394 !
   383 
   395 
       
   396 visitTokenWhitespaceNode: node
       
   397     ^ self visit: node child
       
   398 !
       
   399 
   384 visitTrimmingTokenCharacterNode: node
   400 visitTrimmingTokenCharacterNode: node
   385     "I do not care about trimming (so far), it should be handled by TokenCodeGenerator"
   401     "I do not care about trimming (so far), it should be handled by TokenCodeGenerator"
   386     ^ self visit: node child
   402     ^ self visit: node child
   387 !
   403 !
   388 
   404 
   389 visitTrimmingTokenNode: node
   405 visitTrimmingTokenNode: node
   390     "I do not care about trimming (so far), it should be handled by TokenCodeGenerator"
   406     "I do not care about trimming (so far), it should be handled by TokenCodeGenerator"
   391     ^ self visit: node child
   407     ^ self visit: node child
       
   408 !
       
   409 
       
   410 visitUnknownNode: node
       
   411     |  state fsa  |
       
   412     
       
   413     state := PEGFsaParserState new.
       
   414     state name: 'Unknown Parser'.
       
   415     state parser: node parser.
       
   416     
       
   417     fsa := PEGFsa new
       
   418         addState: state;
       
   419         
       
   420         startState: state;
       
   421         finalState: state;
       
   422 
       
   423         yourself.
       
   424         
       
   425     ^ fsa
   392 ! !
   426 ! !
   393 
   427