Skip to content

Instantly share code, notes, and snippets.

@muzudho
Last active February 9, 2017 19:07
Show Gist options
  • Save muzudho/6e9a158cc422d5895336710a5d8ae9eb to your computer and use it in GitHub Desktop.
Save muzudho/6e9a158cc422d5895336710a5d8ae9eb to your computer and use it in GitHub Desktop.
Unityの上で動く、自作スクリプト言語の構文の実装の仕方 ref: http://qiita.com/muzudho1/items/05ffb53fb4e9d4252b28
TRANSITION INSERT
FROM "Base Layer\.Any State"
TO "Base Layer\.Foo"
# error!
TRANSITION INSERT
FROM "Base Layer$Any State"
TO "Base Layer$Exit"
] )
# 消えた! いいやつだったのに……。
[
(
)
] # あっ! 同じ種類の開きカッコの上に乗ったぞ!
[
(
)
# 消えた! いいやつだったのに……。
(
) # あっ! 同じ種類の開きカッコの上に乗ったぞ!
(
# 消えた! いいやつだったのに……。
string[] lines = query.Split(new [] { Environment.NewLine }, StringSplitOptions.None);
TRANSITION ANYSTATE INSERT
FROM "Base Layer"
TO "Base Layer\.Foo"
TRANSITION ENTRY INSERT
FROM "Base Layer"
TO "Base Layer\.Foo"
TRANSITION EXIT INSERT
FROM "Base Layer\.Foo"
STATEMACHINE ANYSTATE INSERT
FROM "Base Layer"
TO "Base Layer\.Foo"
STATEMACHINE ENTRY INSERT
FROM "Base Layer"
TO "Base Layer\.Foo"
STATE EXIT INSERT
FROM "Base Layer\.Foo"
( [ { } ] )
[ { } ] )
(
{ } ] )
[
(
} ] )
{
[
(
] )
} # あっ! 同じ種類の開きカッコの上に乗ったぞ!
{
[
(
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment