These are chat archives for notepad-lang/notepad-lang-specification

1st
Sep 2014
Tomona Nanase
@nanase
Sep 01 2014 03:44
インデント使わずにインデントの表現するという話、アセンブリ言語っぽく見えてきた・・・
kb10uy
@kb10uy
Sep 01 2014 03:44
アセンブリ言語は闇
Tomona Nanase
@nanase
Sep 01 2014 03:44
行頭の偶数回のある記号の繰り返しなら・・・
kb10uy
@kb10uy
Sep 01 2014 03:45
def hoge(x)
  return x+1
end
カンマとかで区切ればCSVっぽくも
Tomona Nanase
@nanase
Sep 01 2014 03:45
def hoge(x):
__return x + 1
(Perlみたいにreturnもいらないかもね)
kb10uy
@kb10uy
Sep 01 2014 03:46
Perlってreturnいらないのか
Tomona Nanase
@nanase
Sep 01 2014 03:46
def hoge(x):
__x + 1
kb10uy
@kb10uy
Sep 01 2014 03:47
def hoge(x) : x+1
Tomona Nanase
@nanase
Sep 01 2014 03:47
最後にスタック?上にある値がそのままreturnだったような
kb10uy
@kb10uy
Sep 01 2014 03:47
あー
Tomona Nanase
@nanase
Sep 01 2014 03:47
どうだっけ
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:47
return の扱い、オプションで return があると使うか使わないか迷うし、ない場合は面倒な場合もある。
kb10uy
@kb10uy
Sep 01 2014 03:47
じゃあreturnは存続?
Tomona Nanase
@nanase
Sep 01 2014 03:47
あったほうがいいですね
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:48
(僕は仕様にかかわらずに見守る役なので決めて下しあ)
Tomona Nanase
@nanase
Sep 01 2014 03:48
今の場合はたまたまx + 1だからラムダ式っぽくreturn省略できるんじゃなーいって考えでしたけど
kb10uy
@kb10uy
Sep 01 2014 03:49
さっき自分が投下したのはラムダスタイル
Tomona Nanase
@nanase
Sep 01 2014 03:49
長くなって、最後にreturnが無いとあれ?って思っちゃうかな
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:49
F# で if 連鎖になりそうな気が下から例外で抜けてやった話
Tomona Nanase
@nanase
Sep 01 2014 03:49
ラムダの場合だけreturn省略できるようにしますか
kb10uy
@kb10uy
Sep 01 2014 03:50
: の後に改行が来たらブロック構文、なければラムダ構文
return省略はラムダだけにすればC#っぽさ
それいいかも
Tomona Nanase
@nanase
Sep 01 2014 03:51
def hoge(age):
__if 0 <= age:
____print "Your age is #{age}."
kb10uy
@kb10uy
Sep 01 2014 03:52
/^_+/
Tomona Nanase
@nanase
Sep 01 2014 03:52
後置if
def hoge(age):
__print "Your age is #{age}." if 0 <= age
@kb10uy しかも0回以上の偶数回
インデントが奇数幅って無いですよね(未調査)
kb10uy
@kb10uy
Sep 01 2014 03:52
/^(__)*/かな
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:53
その後置 if は print までなのか文字列までなのかが気になる
Tomona Nanase
@nanase
Sep 01 2014 03:53
あー
kb10uy
@kb10uy
Sep 01 2014 03:53
基本的に行の全体?
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:54
if 0<= age: print "" でも手間変わらない感
Tomona Nanase
@nanase
Sep 01 2014 03:54
行全体で考えてました
kb10uy
@kb10uy
Sep 01 2014 03:54
書き足しは後置のがしやすいか
Tomona Nanase
@nanase
Sep 01 2014 03:54
変わんないですね
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:54
print "Your age is #{age}." if 0 <= age else "Invalid" なら Python っぽい
kb10uy
@kb10uy
Sep 01 2014 03:55
def hoge(x):
__return 0 if x>=100
__return 1
Tomona Nanase
@nanase
Sep 01 2014 03:55
文字列にifがかかってるんですね?
kb10uy
@kb10uy
Sep 01 2014 03:55
なるほど
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:56
括弧がない弊害を感じ始めてきた
kb10uy
@kb10uy
Sep 01 2014 03:56
カッコ抑制?
print ("Your age is #{age}" if 0<=age else "Inv")
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:56
print("") を強制とか
Tomona Nanase
@nanase
Sep 01 2014 03:57
__if 0 <= age:
____print "Your age is #{age}"
__else:
____print 'Invalid'
ふむ
kb10uy
@kb10uy
Sep 01 2014 03:57
ただのパイソン
Tomona Nanase
@nanase
Sep 01 2014 03:57
括弧無くすと一気にPerlっぽく
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:57
なぜモンティ・パイソンと投稿してから直したのか #ツイ消しを見た
kb10uy
@kb10uy
Sep 01 2014 03:58
関数のカッコ省略は引数なしの関数だけとか
printを関数にして
Tomona Nanase
@nanase
Sep 01 2014 03:58
括弧あったほうがいいっすね。それプラスあったほうが if がどこについてるのかわかる
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:58
print 関数じゃなかったの…
kb10uy
@kb10uy
Sep 01 2014 03:58
pythonは3から関数
Tomona Nanase
@nanase
Sep 01 2014 03:58
そういえばnotepad-langのprintは関数なのか命令なのか
kb10uy
@kb10uy
Sep 01 2014 03:58
print ("your age is #{age}" else "invalid" in age<=0)
Takuya Sakurai
@azyobuzin
Sep 01 2014 03:59
python 2 でも print に括弧つけるマンでたまにそのせいでバグって泣く泣く消してたけど 3 でその必要なくなって 3 神って 1 年くらい前に騒いでた記憶ある
kb10uy
@kb10uy
Sep 01 2014 03:59
(A else B in Expr)
で三項演算子っぽく?
Tomona Nanase
@nanase
Sep 01 2014 04:00
引数なしだけ括弧省略可はRubyっぽいですな
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:00
命令なんて考えてもいなかった(
Tomona Nanase
@nanase
Sep 01 2014 04:01
(Rubyわかってないマン)
kb10uy
@kb10uy
Sep 01 2014 04:01

rubyは

print "a".to_i 36

とかできるはず

Tomona Nanase
@nanase
Sep 01 2014 04:02
ああ
難しいけど面白いな
kb10uy
@kb10uy
Sep 01 2014 04:03
まあでもわかりやすさ的にNotepadは引数なしだけで
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:03
print
  if 0 <= age:
    "Your age is #{age}."
  else:
    "invalid"
ができない言語はクソ(?)
kb10uy
@kb10uy
Sep 01 2014 04:03
いいかもそれ
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:04
この場合括弧ないと終了判定できないわ
kb10uy
@kb10uy
Sep 01 2014 04:04
構文ブロック自体が値を返すパターン
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:04
(そうすると必然的に return なくなるけどね)
kb10uy
@kb10uy
Sep 01 2014 04:05
マジで誰かトークナイザ書いてくれ
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:05
(この話、ちょうど俺が「ひゅいっ」って言った時の話だ)
Tomona Nanase
@nanase
Sep 01 2014 04:08
(昼ごはん作ってたらprint文ができてた)
(いやif文か)
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:09
すべてが関数、すべてが式(なんか最近関数型脳になってきた気がしなくもない)
kb10uy
@kb10uy
Sep 01 2014 04:09
ちょっと関数型っぽいほうが現代的(?)
kb10uy
@kb10uy
Sep 01 2014 04:11
代入文の値側で、先頭だけ別の代入を許可するとかか
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:12
(関数型言語になるほど(純粋でなければ)相当コンパイラめんどくさそう)
kb10uy
@kb10uy
Sep 01 2014 04:13
インデント依存構文じゃなければ割りとebnfとか書けそうなんだけどな
Tomona Nanase
@nanase
Sep 01 2014 04:13
変な話、インデント依存じゃなくても?と思った
kb10uy
@kb10uy
Sep 01 2014 04:13
それ
do-endでいんじゃね
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:14
インデント依存、 F# が神に見えてきた
Tomona Nanase
@nanase
Sep 01 2014 04:14
ただそうなるとendendに・・・
kb10uy
@kb10uy
Sep 01 2014 04:14
rubyの闇が
Tomona Nanase
@nanase
Sep 01 2014 04:14
どちらにも一長一短ある
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:15
End If
kb10uy
@kb10uy
Sep 01 2014 04:15
def hoge(i)
  if i>=a then
    print 1
  else
    print 0
  fi
fed
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:15
やめたげてよぉ
Tomona Nanase
@nanase
Sep 01 2014 04:15
えっと、何だっけこの言語
どこかで見覚えが...
kb10uy
@kb10uy
Sep 01 2014 04:15
シェルっぽさを醸しだしたLuaっぽいRuby
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:16
闇でしか無い
kb10uy
@kb10uy
Sep 01 2014 04:16
まあブロック終了が開始キーワードの逆っていうのは一応選択肢としては
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:18
(def hoge (i)
  (print (cond (>= i a) 1 0))
)
Tomona Nanase
@nanase
Sep 01 2014 04:19
))))))
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:19
案外メモ帳で書きやすいかもしれない…
kb10uy
@kb10uy
Sep 01 2014 04:22
class Hoge
  prop Age(public,public)

  def .ctor()
    Age=0
  fed

  def ShowAge
    print(
         if Age>=0 then
           "your age is #{Age}"
         else
           "invalid"
         fi
       )
  fed

  def IncrementAge
    Age++
  fed
ssalc
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:23
慣れるまですごく面倒くさそうだw
kb10uy
@kb10uy
Sep 01 2014 04:23
慣れたら強そうではある
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:24
ところで : は?
kb10uy
@kb10uy
Sep 01 2014 04:24
あー
インデント非依存ならいらないかとおもったけど合ったほうがいいかな
Takuya Sakurai
@azyobuzin
Sep 01 2014 04:25
あーなるほどね
ssalc がつらかった
Tomona Nanase
@nanase
Sep 01 2014 04:56
コンストラクタは def this() でいいと思った
def this
. #1 で拡張子の話出てたけど .txt 候補に出ててワロタ
Tomona Nanase
@nanase
Sep 01 2014 05:09
propの裏事情考えてみた。D言語方式。
class Hoge
  prop Age(public,public) = 0

  # 上の prop は裏では次のような展開
  # __age はバッキングフィールド
  #
  # def Age(age)
  #   this.__age = age
  # fed
  #
  # def Age
  #   return this.__age
  # fed
  #
  # def this
  #   this.__age = 0
  # fed

  def ShowAge
    print(
         if Age>=0 then
           "your age is #{Age}"
         else
           "invalid"
         fi
       )
  fed

  def IncrementAge
    Age++
  fed
ssalc
Takuya Sakurai
@azyobuzin
Sep 01 2014 05:10
あと public の指定は必須じゃないほうが def とバランス取れそう
Tomona Nanase
@nanase
Sep 01 2014 05:10
アクセシビリティはどうなんだろう
必要だろうかと書いてて思った
Takuya Sakurai
@azyobuzin
Sep 01 2014 05:11
Python: _, __ で勝手に private
Go: 最初が小文字なら勝手に private
Tomona Nanase
@nanase
Sep 01 2014 05:12
なるほど
Takuya Sakurai
@azyobuzin
Sep 01 2014 05:12
わりと軽量な言語なら名前で決まってもいいかもしれない
あ、 Python は _ は private にならない、暗黙の了解だった。 __ だけだ
Tomona Nanase
@nanase
Sep 01 2014 05:14
そして勝手にthisしたけどselfも捨てがたい
Takuya Sakurai
@azyobuzin
Sep 01 2014 05:15
me
Tomona Nanase
@nanase
Sep 01 2014 05:16
meか〜
このあたり他の人の意見も聞きたい
n_6g
@n6g
Sep 01 2014 08:46
帰還

#1

.nplに一票

kb10uy
@kb10uy
Sep 01 2014 09:13

#1

拡張子は.nplにしましょうかね

ってことでRuby実装のリポジトリ作ったんである程度言語仕様とキーワード決めちゃっていいですか?
n_6g
@n6g
Sep 01 2014 09:14
私はおkです
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:21
進捗ダメマン
n_6g
@n6g
Sep 01 2014 09:22
超進んでてワロタ
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:23
あー今日課題やらないといけないのに…
n_6g
@n6g
Sep 01 2014 09:23
メモ帳の闇
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:23
課題メモ帳でやるしかない…!
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:24
ところで型について何も決まってないっぽいんですが(そろそろ決めないとアレ
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:24
i32
n_6g
@n6g
Sep 01 2014 09:24
静的型付け言語ではないしそれほどしb(ry
kb10uy
@kb10uy
Sep 01 2014 09:24
一応変数は動的ということにして
例えば数値型はRubyだとデフォでBigNum対応だったりするんだけど
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:24
型システムは動的でも静的でもいいんだけど、String型はどうとかいう仕様がほしい
ので、決めたい(
n_6g
@n6g
Sep 01 2014 09:25
それは言語仕様の後でライブラリとして作成とかいう話になってたしそちらはまた別にあることになりそう
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:25
String 型は Shift_JIS でエンコードされてイミュータブルな仕様
kb10uy
@kb10uy
Sep 01 2014 09:25
やめて
この際もう国際的な汎用的な言語に
n_6g
@n6g
Sep 01 2014 09:26
UTF-8(BOM付き)
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:26
なるほど、今決まってるやつはWikiかなんかでまとまってる感じです?
kb10uy
@kb10uy
Sep 01 2014 09:26
今からWikiにページ作る
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:26
(ログが辿れなくて見れないのでどこまで話が進んでいるのか分からない)
S
@S--Minecraft
Sep 01 2014 09:26
できたら、英訳しましょうか?
kb10uy
@kb10uy
Sep 01 2014 09:26
お願いしますー
S
@S--Minecraft
Sep 01 2014 09:27
了解でーす
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:27
設計だけどんどん話がデカくなる前に、コンパクトな実装をしたいと思ったので。。。
S
@S--Minecraft
Sep 01 2014 09:28
ロシア語はスクエアさんが(殴
n_6g
@n6g
Sep 01 2014 09:28
ロシア語での需要 is どこ
kb10uy
@kb10uy
Sep 01 2014 09:28
RubyはDSLとかの実装に向いているらしいのでキーワードと構造とベース実装だけ先に作ってしまわないと
S
@S--Minecraft
Sep 01 2014 09:29
ロシア語圏へぱらつり氏を広げる(((
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:29
ロシアは Nemerle の聖地
kb10uy
@kb10uy
Sep 01 2014 09:29
ローカル変数の接頭辞とかつけます?
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:29
ローカル変数の接頭辞 実装は楽だけど、通常のコーディングで煩雑になりそうな気がする。
n_6g
@n6g
Sep 01 2014 09:30
Rubyみたいに先頭大文字で定数とかはならない感じです?
kb10uy
@kb10uy
Sep 01 2014 09:30
名前による自動決定はなんかアレ
な気がしなくもない
n_6g
@n6g
Sep 01 2014 09:32
そこはキーワード利用か
kb10uy
@kb10uy
Sep 01 2014 09:32
基本的にメソッド内/ブロック内で定義したらそのスコープのローカル変数、
global instance class のキーワード付きで定義したら広域敵にするとか
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:32
メモ帳で書く故、予約語を減らしたい意図ならそれはアリだと思うけど、Pascal Caseに慣れてる人(Java,C#とか)向けにちゃんとドキュメントとか書かないと死人が出そう
kb10uy
@kb10uy
Sep 01 2014 09:32
class A
  def hoge
    local lclvar=0 #ローカル変数
    instance insvar=1 #インスタンス変数
    class clsvar=2 #クラスstatic変数
    global glbvar=3 #グローバル変数
  fed
ssalc
みたいな?
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:35
自分は良いとは思うけど問題はメモ帳はシンタックスハイライト効かないんだよな(
n_6g
@n6g
Sep 01 2014 09:36
class clsvarのところはそれは予約語を使いまわすっていうこと?
kb10uy
@kb10uy
Sep 01 2014 09:36
あーかぶってたか
まあC#にも文脈キーワードとかあるし、
メソッドないだけでclassキーワードはstatic変数定義扱いとか?
n_6g
@n6g
Sep 01 2014 09:37
型推論実装楽しそうだなぁ(白目
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:37
実装つらそう
kb10uy
@kb10uy
Sep 01 2014 09:37
一回全部トークン化してそれから文脈判定するつもり
ちょっと夕ごはん
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:38
はい
n_6g
@n6g
Sep 01 2014 09:38
tr
S
@S--Minecraft
Sep 01 2014 09:38
うい
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:41
ハイライトがないとObj-C並にごちゃごちゃする感じする(これはvimだけど http://gyazo.com/c3284ec0723705d03f840c798be8a510
Paralleltree
@paralleltree
Sep 01 2014 09:42
ハイライトなしで見やすい書式・・・
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:42
全部グローバル…
Paralleltree
@paralleltree
Sep 01 2014 09:42
ヒエッ
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:43
全部グローバルにするとライブラリとかで衝突してアレ(
n_6g
@n6g
Sep 01 2014 09:43
JavaScriptみたいだな!
Paralleltree
@paralleltree
Sep 01 2014 09:43
(アカン)
kb10uy
@kb10uy
Sep 01 2014 09:43
戻った
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:43
localとかinstanceとかの後に改行を入れて、インデントを1つ深くすると、読みやすい気がする
S
@S--Minecraft
Sep 01 2014 09:44
vimのハイライトの作り方は知らんなぁ…
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:44
C の public: private: 方式
あれ C だっけ?
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:44
C++かな
n_6g
@n6g
Sep 01 2014 09:44
C++
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:45
ガチ勢早っこわっ
n_6g
@n6g
Sep 01 2014 09:45
バニラCにはクラスすらないよ...
Linuxのカーネルの†闇†
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:45
Obj-Cは@publicとかで分かりやすいと思うけど、新しい構文を追加すると(ry
Takuya Sakurai
@azyobuzin
Sep 01 2014 09:45
git clone したら命がなくなると聞いた
n_6g
@n6g
Sep 01 2014 09:45
よく自分読もうと思ったなアレ...
AyanaTokikaze
@ayatk
Sep 01 2014 09:45

1 の拡張子、.nplはすでにnokiaが音楽ファイルの方で使っちゃってるみたい

数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:45
class A
  def hoge
    local 
      a = 0
    instance
      b = 0
      ...
AyanaTokikaze
@ayatk
Sep 01 2014 09:45
みすった
Paralleltree
@paralleltree
Sep 01 2014 09:46
まじぇでか
n_6g
@n6g
Sep 01 2014 09:46
Nokia?なにそれ知らんし放置だ
AyanaTokikaze
@ayatk
Sep 01 2014 09:46
携帯のnokia
Paralleltree
@paralleltree
Sep 01 2014 09:46
nokia npl [検索]
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:46
notepad-langを使うユーザー AND (Nokiaユーザー AND Nokiaの音楽ファイルを使っているユーザー)
の数を考えると、無視しても良いのでは(
n_6g
@n6g
Sep 01 2014 09:47
.npか.notepad-lang-codefile
Paralleltree
@paralleltree
Sep 01 2014 09:47
.nlc?
AyanaTokikaze
@ayatk
Sep 01 2014 09:47
出来るだけ競合は避けたい感じ
n_6g
@n6g
Sep 01 2014 09:47
無視でも構わないとは思うけどね。
kb10uy
@kb10uy
Sep 01 2014 09:47
HSPとActionScriptぐらいの知名度になると被りは困る
.asがかぶってる
AyanaTokikaze
@ayatk
Sep 01 2014 09:48
複数の拡張子に対応してもいい感じ
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:48
nplはプレーンテキストだけど、音楽はバイナリだから、ミスって音楽ファイルをコンパイラに食わせるとアカン感じになるな?
Paralleltree
@paralleltree
Sep 01 2014 09:48
ヤバそう
n_6g
@n6g
Sep 01 2014 09:48
でも実際結構かぶりはあるっぽい
SS参照
Paralleltree
@paralleltree
Sep 01 2014 09:48
ふぬぬ
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:49
拡張子で_が使えないOSって無いよね...?
hoge._npとか
n_6g
@n6g
Sep 01 2014 09:49
.paralleltree-is-notepad-love
Paralleltree
@paralleltree
Sep 01 2014 09:49
おい
n_6g
@n6g
Sep 01 2014 09:49
._npはいいかもしれない
AyanaTokikaze
@ayatk
Sep 01 2014 09:49
長い長い
Paralleltree
@paralleltree
Sep 01 2014 09:50
とりあえずissue追記したほうがいいか?
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:50
コンパイラは他のコンパイラと同じように拡張子チェックはせずにプレーンテキストだったらとりあえず構文解析してみる仕様なら良いかもしれない。
そうですね?
Paralleltree
@paralleltree
Sep 01 2014 09:51
よくよく考えたら自分も.txtをcsc.exeにぶっこんでたしアレ
n_6g
@n6g
Sep 01 2014 09:52
オオオー
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:52
:+1:
kb10uy
@kb10uy
Sep 01 2014 09:52
とりあえずこれぐらいあればパーサぐらいは作れるかな
あと一応各言語による実装のリポジトリの名前修飾
notepad-
の後に小文字で言語名付け足す感じでオナシャス
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:54
名前変えられないので変えてください(
llvm-notepad -> notepad-java
(LLVMは自分には早すぎた...)
kb10uy
@kb10uy
Sep 01 2014 09:55
変えときました
数沢 則征(Noriyuki Kazusawa)
@nokok
Sep 01 2014 09:55
:smile:
kb10uy
@kb10uy
Sep 01 2014 09:56
我ながらこのアイコンなかなかいい出来だな
n_6g
@n6g
Sep 01 2014 10:01
gh-pages使いたいマンです
Laica Lunasys
@Laica-Lunasys
Sep 01 2014 10:02
Bashのシェルスクリプトっぽい具合がする... > if fi
kb10uy
@kb10uy
Sep 01 2014 10:02
ぶっちゃけそれ意識した
ブレイス{}を使いたくないっていうのとend地獄を避けたいっていうのが
合ったので
n_6g
@n6g
Sep 01 2014 10:04
end地獄は確かにアレ
kb10uy
@kb10uy
Sep 01 2014 10:04
\による改行無視も一応いれときますね
Stefan Utamaru
@stefafafan
Sep 01 2014 10:05
がんばれ♡がんばれ♡
n_6g
@n6g
Sep 01 2014 10:07
すてふぁんさん....だと....?!??!?!?!!?!??!?!?!!?!?!?
Paralleltree
@paralleltree
Sep 01 2014 10:07
絶対完成させような
kb10uy
@kb10uy
Sep 01 2014 10:07
メンバーが着実に増えてる
S
@S--Minecraft
Sep 01 2014 10:07
とりあえず、Meryのハイライトを作る
n_6g
@n6g
Sep 01 2014 10:07
しかもインタプリタが様々な言語で実装されていくというアレ
Paralleltree
@paralleltree
Sep 01 2014 10:08
それでnotepad-lang.github.io作るの?
n_6g
@n6g
Sep 01 2014 10:08
欲しいです
デザインやってて詰まりました☆
というか速度的にも可用性的にもそっちのほうが安定してるんだよね
S
@S--Minecraft
Sep 01 2014 10:14
無題.png
こんな感じでMeryで作ってみました
何のエディタのハイライトあると便利です?
kb10uy
@kb10uy
Sep 01 2014 10:15
秀丸は自分で作りますが
n_6g
@n6g
Sep 01 2014 10:15
ハイライトなしでも書ける(某
ハイライトなしでも書ける(棒
Paralleltree
@paralleltree
Sep 01 2014 10:16
やっぱりvimvimしたい
n_6g
@n6g
Sep 01 2014 10:18
女装コーダーゆきさん
なし
S
@S--Minecraft
Sep 01 2014 10:18
ハイライトなしはメモ帳氏ぐらいでしょ
Paralleltree
@paralleltree
Sep 01 2014 10:18
あのあの
ってことでRubyでパーサジェネレータわいわいします
S
@S--Minecraft
Sep 01 2014 10:30
ぱらメモ氏にvimの作るかー
もちろん、notepad.exeで
Paralleltree
@paralleltree
Sep 01 2014 10:32
普通に使いやすいやつで作ってください
S
@S--Minecraft
Sep 01 2014 10:49
vim、作りにくいな…
Paralleltree
@paralleltree
Sep 01 2014 10:52
複雑そう
S
@S--Minecraft
Sep 01 2014 10:52
自分には無理そうなのです…
n_6g
@n6g
Sep 01 2014 10:59
Vimのあれはそらなー...
S
@S--Minecraft
Sep 01 2014 11:00
わかりやすそうなやつあった
これマネすればいけるかな?
S
@S--Minecraft
Sep 01 2014 11:09
もうわからないでござる…
Paralleltree
@paralleltree
Sep 01 2014 11:23
層状以上に闇そうだった
S
@S--Minecraft
Sep 01 2014 11:24
わかりやすぅい解説が見当たらなかった(自分の理解力が足りない可能性があり)
rubyの文法が柔軟すぎる
Takuya Sakurai
@azyobuzin
Sep 01 2014 12:25
Parseq スタックオーバーフローから逃れられなくなったし kb10uy が PEG かなにかでいい感じにやってくれたのを見ながら式木マンしよう
n_6g
@n6g
Sep 01 2014 12:44
hi
kb10uy
@kb10uy
Sep 01 2014 12:47
演算子が合計31個・・・
Takuya Sakurai
@azyobuzin
Sep 01 2014 12:53
パターンマッチが制定されてない!
kb10uy
@kb10uy
Sep 01 2014 13:57
パースで一番大変な式の解析部分書き終わった
Takuya Sakurai
@azyobuzin
Sep 01 2014 13:57
それが仕様となるのか
kb10uy
@kb10uy
Sep 01 2014 13:57
まあそういうことになるかな
幸いParsletはBNFっぽく書かせてくれるから
普通のBNFに落とすのも結構簡単だけど
参考資料の関係で演算子の順位はほぼC言語と同じです
Takuya Sakurai
@azyobuzin
Sep 01 2014 14:00
くそぉ真っ先に Hello, world したかったが Parseq の StackOverflowException 地獄に陥って進捗でなかった…
Tomona Nanase
@nanase
Sep 01 2014 15:36
めっちゃ話進んでる
this or self or meはどうしましょう
昔のcodemirrorしか知らないけど今のcodemirrorのシンタックス、もしかけたらnotepad-lang用のものをつくろうと思います
kb10uy
@kb10uy
Sep 01 2014 17:07
とりあえず報告
Ruby用のパーサジェネレーターに関して
・式部分は完成
・class/def/if/local/global/instance構文もだいたい完成
・文字列とコメントはまだ
例の歳のサンプルは文字列ができれば動く
kb10uy
@kb10uy
Sep 01 2014 17:12
あ、あと若干破壊的な変更ですが
の構文だとあまりに煩雑すぎて書いていられなかったので
書き始めた時の
フリーフォーマットに暫定的に変更になりました。
kb10uy
@kb10uy
Sep 01 2014 17:18
そしてそれ以外の呼び出しなどはCっぽく書くことになりましたがよろしいでしょうか
具体的にはclass def if などの開始行の最後に:をつけて終了行にはキーワードの後に任意で;wo
Takuya Sakurai
@azyobuzin
Sep 01 2014 17:40
それ
wiki に書いて .net
n_6g
@n6g
Sep 01 2014 22:19
将来的にライブラリを扱うならそのライブラリをロードする処理やライブラリの中でDLLロード/外部API呼び出しの扱いも欲しいかもしれない
ファイルI/O一つにしてもRubyの補助があるとはいえAPI叩くことになる処理はあるだろうし。