Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
scie
提交
6cc55a13
S
scie
项目概览
Phodal
/
scie
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
scie
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
6cc55a13
编写于
8月 29, 2020
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: add rule map not align
上级
33c7413d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
52 addition
and
2 deletion
+52
-2
docs/adr/0003-rule-map-not-align-issue.md
docs/adr/0003-rule-map-not-align-issue.md
+51
-0
docs/adr/README.md
docs/adr/README.md
+1
-0
scie-grammar/src/grammar/grammar/mod.rs
scie-grammar/src/grammar/grammar/mod.rs
+0
-2
未找到文件。
docs/adr/0003-rule-map-not-align-issue.md
0 → 100644
浏览文件 @
6cc55a13
# 3. rule map not align issue
Date: 2020-08-29
## Status
2020-08-29 proposed
## Context
In currently, the
[
VSCode-textmate
](
https://github.com/microsoft/vscode-textmate
)
generated ruleid2rule has some duplicated fields.
```
json
{
"id"
:
15
,
"_name"
:
"punctuation.definition.variable.makefile"
,
"_nameIsCapturing"
:
false
,
"_contentName"
:
null
,
"_contentNameIsCapturing"
:
false
,
"retokenizeCapturedWithRuleId"
:
0
,
"_type"
:
"CaptureRule"
}
,
{
"id"
:
16
,
"_name"
:
"punctuation.definition.variable.makefile"
,
"_nameIsCapturing"
:
false
,
"_contentName"
:
null
,
"_contentNameIsCapturing"
:
false
,
"retokenizeCapturedWithRuleId"
:
0
,
"_type"
:
"CaptureRule"
}
```
But in our case with Rust, if we don't merge those field, we will had issues. So we decide to merge it will name.
The issues is
`stackoverflow`
, ::laughing::::laughing::::laughing::
```
thread 'grammar::grammar::tests::should_build_makefile_grammar' has overflowed its stack
fatal runtime error: stack overflow
error: test failed, to rerun pass '-p scie-grammar --lib'
```
## Decision
Decision here...
## Consequences
Consequences here...
docs/adr/README.md
浏览文件 @
6cc55a13
...
...
@@ -2,3 +2,4 @@
*
[
1. base-language-choice
](
0001-base-language-choice.md
)
*
[
2. grammer-engine-choice
](
0002-grammer-engine-choice.md
)
*
[
3. rule-map-not-align-issue
](
0003-rule-map-not-align-issue.md
)
scie-grammar/src/grammar/grammar/mod.rs
浏览文件 @
6cc55a13
...
...
@@ -31,7 +31,6 @@ pub struct ITokenizeLineResult2 {
pub
trait
IGrammar
{
fn
tokenize_line
(
line_text
:
String
,
prev_state
:
Option
<
StackElement
>
)
->
ITokenizeLineResult
;
/**
* Tokenize `lineText` using previous line state `prevState`.
* The result contains the tokens in binary format, resolved with the following information:
...
...
@@ -134,7 +133,6 @@ impl Grammar {
check_while_conditions
:
bool
,
)
{
let
line_length
=
line_text
.len
();
let
mut
stop
=
false
;
let
mut
anchor_position
=
-
1
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录