We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
プロパティとプロパティ(関数コール)、インデックスの構文を整理
プロパティやプロパティ(関数コール)やインデックスのことを、 長いのでパス要素と呼びます。
左再帰はサポートされないため回避しないといけない。 解決策の1つとしては、主となる式の後ろにパス要素が複数個付けられるようにすること。 式のASTにpathesのようなのを追加して、あとに続くパス要素を表現できるようにする。
expr = expr_item expr_path+
インデックス
{ type: 'path'; index: number; // インデックス値 }
プロパティ
{ type: 'path'; name: string; // プロパティ名 }
プロパティ(関数コール)
{ type: 'path'; name: string; // プロパティ名 args: Node[]; // 関数の引数 }
他の式ノードの装飾として: [<index>]
他の式ノードの装飾として: .<propName>
他の式ノードの装飾として: .<propName>(<CallArgs>)
The text was updated successfully, but these errors were encountered:
foo["bar"]
もサポートしたい
Sorry, something went wrong.
Ref = NAME_WITH_NAMESPACE ("[" Expr "]" / "." NAME)*
とすると上手くパースできそう?
Resolved by #196
No branches or pull requests
プロパティとプロパティ(関数コール)、インデックスの構文を整理
プロパティやプロパティ(関数コール)やインデックスのことを、
長いのでパス要素と呼びます。
左再帰はサポートされないため回避しないといけない。
解決策の1つとしては、主となる式の後ろにパス要素が複数個付けられるようにすること。
式のASTにpathesのようなのを追加して、あとに続くパス要素を表現できるようにする。
ノード
インデックス
プロパティ
プロパティ(関数コール)
構文
インデックス
プロパティ
プロパティ(関数コール)
The text was updated successfully, but these errors were encountered: