diff --git a/src/parser/grammar.pg b/src/parser/grammar.pg index c17c80e..3b5fcc6 100644 --- a/src/parser/grammar.pg +++ b/src/parser/grammar.pg @@ -190,8 +190,6 @@ rule args { rule 'arg' is optable { ... } -proto 'infix:=' is precedence('1') is pasttype('copy') is lvalue(1) { ... } - token basic_primary { | {*} #= literal | {*} #= funcall @@ -488,10 +486,10 @@ proto 'infix:&=' is equiv('infix:=') { ... } proto 'infix:~=' is equiv('infix:=') { ... } -proto infix:«>>=» is equiv('infix:=') +proto 'infix:>>=' is equiv('infix:=') is pirop('shr') { ... } -proto infix:«<<=» is equiv('infix:=') +proto 'infix:<<=' is equiv('infix:=') is pirop('shl') { ... } proto 'infix:&&=' is equiv('infix:=') @@ -521,23 +519,23 @@ proto 'infix:!=' is equiv('infix:==') { ... } proto 'infix:=~' is equiv('infix:==') { ... } proto 'infix:!~' is equiv('infix:==') { ... } proto 'infix:===' is equiv('infix:==') { ... } -proto infix:«<=>» is equiv('infix:==') { ... } +proto 'infix:<=>' is equiv('infix:==') { ... } -proto infix:«>» is tighter('infix:===') { ... } -proto infix:«<» is tighter('infix:===') { ... } -proto infix:«<=» is tighter('infix:===') { ... } -proto infix:«>=» is tighter('infix:===') { ... } +proto 'infix:>' is tighter('infix:===') { ... } +proto 'infix:<' is equiv('infix:>') { ... } +proto 'infix:<=' is equiv('infix:>') { ... } +proto 'infix:>=' is equiv('infix:>') { ... } proto 'infix:|' is tighter('infix:<=') { ... } proto 'infix:^' is equiv('infix:|') { ... } proto 'infix:&' is tighter('infix:|') { ... } -proto infix:«<<» is tighter('infix:&') { ... } -proto infix:«>>» is equiv(infix:«<<») { ... } +proto 'infix:<<' is tighter('infix:&') { ... } +proto 'infix:>>' is equiv('infix:<<') { ... } -proto 'infix:+' is tighter(infix:«<<») { ... } +proto 'infix:+' is tighter('infix:<<') { ... } proto 'infix:-' is equiv('infix:+') { ... } #is pirop('sub') { ... }