BenjaminSchaaf / sbnf

A BNF-style language for writing sublime-syntax files
MIT License
58 stars 6 forks source link

Panic thread 'main' panicked at 'not yet implemented', src/compiler/codegen.rs:1224:22 #7

Closed TerminalFi closed 4 years ago

TerminalFi commented 4 years ago

Sample SBNF file

name: Cap n' Proto
scope: capnp
extensions: capnp

prototype = ( ~comment )* ;

comment = '(#+).*\n?'{comment.line, 1: punctuation.definition.comment} ;

main = ( ~( using
       )  )*
     ;

using = ( ~( '\b(using)\s+(?={{name}}\s*=\s*)(import)' {1: keyword.control.import,
                                         2: meta.path,
                                         3: keyword.operator.assignment,
                                         4: keyword.control.import}
     | '\b(using)(?!\s*\()(?:\s+(static))?\b'{1: keyword.control.import,
                                              2: keyword.control.import,
                                              3: meta.path}
     )
     using-namespace
  )*
;

using-namespace = ( '{{name}}'{meta.path}
  | '='{keyword.operator.assignment}
  | `.`{punctuation.separator.namespace}
  )*
  ( ';'{punctuation.terminator}
  | '$'
  )
;

Stacktrack

thread 'main' panicked at 'not yet implemented', src/compiler/codegen.rs:1224:22
stack backtrace:
   0:        0x10a650a5b - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h7017b8ae60900b6b
   1:        0x10a66650d - core::fmt::write::h894d1da6a20f9776
   2:        0x10a64560b - std::io::Write::write_fmt::ha636655ad3c17e54
   3:        0x10a646b35 - std::panicking::default_hook::{{closure}}::h14b439755e59a6f3
   4:        0x10a64683a - std::panicking::default_hook::hd0130cc02b18eabf
   5:        0x10a64709b - std::panicking::rust_panic_with_hook::h747c3c133ec2d635
   6:        0x10a66ed7d - std::panicking::begin_panic::h9851271f534ea46d
   7:        0x10a5b1b80 - sbnf::compiler::codegen::collect_context_nodes::h7a00a9ad4fc7cb73
   8:        0x10a5b154f - sbnf::compiler::codegen::collect_context_nodes::h7a00a9ad4fc7cb73
   9:        0x10a5a81ec - sbnf::compiler::codegen::codegen::he155181b7e2052ac
  10:        0x10a5933c5 - sbnf::compiler::compile::hddc44cec5b97e18e
  11:        0x10a587b10 - sbnf::main::ha1640f598ed6c6ee
  12:        0x10a58d086 - std::rt::lang_start::{{closure}}::hedfbd1ef17baed5d
  13:        0x10a647304 - std::rt::lang_start_internal::hf93faf993997e0c4
  14:        0x10a588fc9 - main
BenjaminSchaaf commented 4 years ago

Fixed by 30e6f2c7275e835d63716cb09c5efcdccfd23eb7