summaryrefslogtreecommitdiff
path: root/src/parser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.rs')
-rw-r--r--src/parser.rs23
1 files changed, 6 insertions, 17 deletions
diff --git a/src/parser.rs b/src/parser.rs
index aff64f6..13e89aa 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -253,7 +253,7 @@ impl Parser {
253 } 253 }
254 let mut children = Vec::new(); 254 let mut children = Vec::new();
255 255
256 println!("--parse-tag-view-- tag parsed, next token: {:?}", ctx.cur() ); 256 //println!("--parse-tag-view-- tag parsed, next token: {:?}", ctx.cur() );
257 loop { 257 loop {
258 if ctx.cur().is_none() { 258 if ctx.cur().is_none() {
259 return Err(ParseError{ 259 return Err(ParseError{
@@ -272,7 +272,7 @@ impl Parser {
272 } 272 }
273 SymbolType::StartPoint => { 273 SymbolType::StartPoint => {
274 let end = self.parse_end_tag( ctx )?; 274 let end = self.parse_end_tag( ctx )?;
275 println!("End tag: {:?}, open tag: {:?}", end, tb.name() ); 275 //println!("End tag: {:?}, open tag: {:?}", end, tb.name() );
276 if tb.is_name(end.symbol()) { 276 if tb.is_name(end.symbol()) {
277 // They match, time to decide what we're doing. 277 // They match, time to decide what we're doing.
278 let any_outputs = children.iter().any( 278 let any_outputs = children.iter().any(
@@ -327,14 +327,9 @@ impl Parser {
327 } 327 }
328 328
329 fn parse_open_tag<'a>(&self, ctx: &mut Context<'a>) -> ParseResult<TagBuilder<'a>> { 329 fn parse_open_tag<'a>(&self, ctx: &mut Context<'a>) -> ParseResult<TagBuilder<'a>> {
330
331 println!("--> Begin parse_tag <--");
332
333 let start_sym = ctx.cur().unwrap(); 330 let start_sym = ctx.cur().unwrap();
334 let mut tb = TagBuilder::new(&start_sym); 331 let mut tb = TagBuilder::new(&start_sym);
335 332
336 println!("--> Start sym: {:?}", start_sym );
337
338 if ctx.next().is_some() { 333 if ctx.next().is_some() {
339 match ctx.cur().unwrap().symbol() { 334 match ctx.cur().unwrap().symbol() {
340 SymbolType::View | SymbolType::Show | 335 SymbolType::View | SymbolType::Show |
@@ -413,11 +408,9 @@ impl Parser {
413 } 408 }
414 SymbolType::StartFlat => { 409 SymbolType::StartFlat => {
415 tb.add_child( self.parse_tag_body( ctx )? ); 410 tb.add_child( self.parse_tag_body( ctx )? );
416 println!("Following tag body: {:?} {:?}", ctx.cur(), ctx.peek() );
417 } 411 }
418 SymbolType::StartPoint => { 412 SymbolType::StartPoint => {
419 let end = self.parse_end_tag( ctx )?; 413 let end = self.parse_end_tag( ctx )?;
420 println!("End tag: {:?}, open tag: {:?}", end, tb.name() );
421 if tb.is_name(end.symbol()) { 414 if tb.is_name(end.symbol()) {
422 // They match, end. 415 // They match, end.
423 return tb.build(); 416 return tb.build();
@@ -547,16 +540,13 @@ impl<'a> TagBuilder<'a> {
547 540
548 pub fn set_name(&mut self, name: Symbol<'a>) { 541 pub fn set_name(&mut self, name: Symbol<'a>) {
549 self.name = Some(name); 542 self.name = Some(name);
550 println!("Tag name: {:?}", self.name );
551 } 543 }
552 544
553 pub fn add_param(&mut self, param: String) { 545 pub fn add_param(&mut self, param: String) {
554 println!("Add param: {:?}", param );
555 self.params.push( param ); 546 self.params.push( param );
556 } 547 }
557 548
558 pub fn add_prop(&mut self, key: String, value: String) { 549 pub fn add_prop(&mut self, key: String, value: String) {
559 println!("Add prop: {:?} = {:?}", key, value );
560 self.props.insert( key, value ); 550 self.props.insert( key, value );
561 } 551 }
562 552
@@ -589,7 +579,6 @@ impl<'a> TagBuilder<'a> {
589 Ok(Token::Show(self.params.swap_remove(0), self.props)) 579 Ok(Token::Show(self.params.swap_remove(0), self.props))
590 } 580 }
591 _ => { 581 _ => {
592 println!("Unkown tag type");
593 Err(ParseError { 582 Err(ParseError {
594 position: self.start_pos, 583 position: self.start_pos,
595 what: "Bad tag type".to_string(), 584 what: "Bad tag type".to_string(),
@@ -597,10 +586,10 @@ impl<'a> TagBuilder<'a> {
597 } 586 }
598 } 587 }
599 } else { 588 } else {
600 Err(ParseError { 589 Err(ParseError {
601 position: self.start_pos, 590 position: self.start_pos,
602 what: "Bad tag type".to_string(), 591 what: "Bad tag type".to_string(),
603 }) 592 })
604 } 593 }
605 } 594 }
606} 595}