diff --git a/scie-grammar/src/grammar/grammar.rs b/scie-grammar/src/grammar/grammar.rs index e561cbc5874e024f012ed322d220fc5242fe8675..ac34f5d5610887f68dca2ff61b0666277f6ea133 100644 --- a/scie-grammar/src/grammar/grammar.rs +++ b/scie-grammar/src/grammar/grammar.rs @@ -230,6 +230,8 @@ impl Grammar { anchor_position = popped.anchor_pos; } else { println!("_popped_rule {:?}", _popped_rule.clone()); + _stop = true; + return Some(stack.clone()); } } else { let rule = self.get_rule(matched_rule_id); diff --git a/vscode-tests/index.js b/vscode-tests/index.js index 71c74a6e9843d383c5e00bd8fd2450e7ef62a2b0..5b9b2eacf0d942c0975ea25de83426fbb4913209 100644 --- a/vscode-tests/index.js +++ b/vscode-tests/index.js @@ -26,8 +26,7 @@ const registry = new vsctm.Registry({ }); registry.loadGrammar('source.makefile').then(grammar => { - const text = `hellomake: $(OBJ) -\t$(CC) -o $@ $^ $(CFLAGS)`.split("\n"); + const text = `%.o: %.c $(DEPS)`.split("\n"); let ruleStack = vsctm.INITIAL; for (let i = 0; i < text.length; i++) { const line = text[i];