structural update: move files to a subfolder
Also update the documentation of supported tokens and features for more clarity.
This commit is contained in:
parent
2c7287338c
commit
69b5b52fdd
286
doc/tokens.txt
286
doc/tokens.txt
|
@ -1,137 +1,149 @@
|
|||
21 : e
|
||||
22 : π
|
||||
23 : :
|
||||
25 : ?
|
||||
2C : ;
|
||||
2D : ×10
|
||||
2E : ,
|
||||
30 : 0
|
||||
31 : 1
|
||||
32 : 2
|
||||
33 : 3
|
||||
34 : 4
|
||||
35 : 5
|
||||
36 : 6
|
||||
37 : 7
|
||||
38 : 8
|
||||
39 : 9
|
||||
40 : M
|
||||
41 : Rép (Ans)
|
||||
42 : A
|
||||
43 : B
|
||||
44 : C
|
||||
45 : D
|
||||
46 : E
|
||||
47 : F
|
||||
48 : x
|
||||
49 : y
|
||||
4A : Pré-Rép
|
||||
4C : θ
|
||||
60 : (
|
||||
68 : Abs(
|
||||
69 : Rnd(
|
||||
6C : sinh(
|
||||
6D : cosh(
|
||||
6E : tanh(
|
||||
6F : sinh⁻¹(
|
||||
70 : cosh⁻¹(
|
||||
71 : tanh⁻¹(
|
||||
72 : e^
|
||||
73 : 10^
|
||||
74 : √(
|
||||
75 : ln(
|
||||
76 : ³√(
|
||||
77 : sin(
|
||||
78 : cos(
|
||||
79 : tan(
|
||||
7A : Arcsin(
|
||||
7B : Arccos(
|
||||
7C : Arctan(
|
||||
7D : log(
|
||||
7E : Pol
|
||||
7F : Rec
|
||||
83 : Ent(
|
||||
84 : EntEx(
|
||||
87 : RanInt#(
|
||||
88 : PGCD(
|
||||
89 : PPCM(
|
||||
8A : Arond(
|
||||
A5 : =
|
||||
A6 : +
|
||||
A7 : -
|
||||
A8 : ×
|
||||
A9 : ÷
|
||||
AA : ⊢
|
||||
AD : P
|
||||
AE : C
|
||||
C0 : -
|
||||
C8 : ⌋
|
||||
C9 : ^(
|
||||
CA : [x]√(
|
||||
D0 : )
|
||||
D4 : ⁻¹
|
||||
D5 : ²
|
||||
D6 : ³
|
||||
D7 : %
|
||||
D8 : !
|
||||
D9 : °
|
||||
DA : ʳ
|
||||
DB : ᵍ
|
||||
DC : °
|
||||
DD : E
|
||||
DE : P
|
||||
DF : T
|
||||
E0 : G
|
||||
E1 : M
|
||||
E2 : k
|
||||
E3 : m
|
||||
E4 : μ
|
||||
E5 : n
|
||||
E6 : p
|
||||
E7 : f
|
||||
E9 : ▶Simp
|
||||
F901 : end of line
|
||||
F902 : end of program
|
||||
F903 : nop / empty line
|
||||
F905 ... 00 : Avancer de ...
|
||||
F906 ... 00 : Tourner de ↺ ...
|
||||
F907 ... 00 : S'orienter à ...
|
||||
F908 ... 00 ... 00 : Aller à x=... ; y=...
|
||||
F909 : Stylo écrit
|
||||
F90A : Stylo relevé
|
||||
F90B ... 00 ... 00 : ... → ... (mettre var à)
|
||||
F90C ... 00 : ? → ... (Demander valeur)
|
||||
F90D3100 : "Oui"
|
||||
F90D3200 : "Non"
|
||||
F90D3300 : "Nombre?"
|
||||
F90D3400 : "Résultat:"
|
||||
F90E ... 00 : Afficher résult ...
|
||||
F90F3100 : Style Flèche
|
||||
F90F3200 : Style Croix
|
||||
F910 : Attendre
|
||||
F911 ... 00 : Répéter ...
|
||||
F912 : ⤴ (end of Répéter)
|
||||
F913 ... 00 : Répéter jusqu'à ...
|
||||
F914 : ⤴ (end of Répéter jusqu'à)
|
||||
F915 ... 00 : Si ... Alors [... Fin]
|
||||
F916 : Fin (end of Si/Alors)
|
||||
F917 ... 00 : Si ... Alors [... Sinon ... Fin]
|
||||
F918 : Sinon
|
||||
F919 : Fin (end of Si/Alors/Sinon)
|
||||
FB01 : <
|
||||
FB02 : >
|
||||
FB03 : ≠
|
||||
FB04 : ≤
|
||||
FB05 : ≥
|
||||
FB10 : →M
|
||||
FB12 : →A
|
||||
FB13 : →B
|
||||
FB14 : →C
|
||||
FB15 : →D
|
||||
FB16 : →E
|
||||
FB17 : →F
|
||||
FB18 : →x
|
||||
FB19 : →y
|
||||
FB1A : M+
|
||||
FB1B : M-
|
||||
FD18 : Ran#
|
||||
Supported tokens:
|
||||
|
||||
Legend:
|
||||
Hexadecimal -- Internal code, also visible in QR code URL
|
||||
Description -- On-calc notation associated with token
|
||||
Interpreter -- Whether interpreter supports the feature
|
||||
BitcodeLexer -- Whether the URL lexer supports the token
|
||||
TextLexer -- Whether the text lexer supports the token
|
||||
|
||||
Hexadecimal Description Feature BitcodeLexer TextLexer
|
||||
------------------------------------------------------------------------------
|
||||
00 End of parameter Yes Yes Yes
|
||||
21 e Yes Yes -
|
||||
22 π Yes Yes -
|
||||
23 : - - -
|
||||
25 ? - - -
|
||||
2C ; - - -
|
||||
2D ×10 Yes Yes Yes
|
||||
2E , Yes Yes Yes
|
||||
30 0 Yes Yes Yes
|
||||
31 1 Yes Yes Yes
|
||||
32 2 Yes Yes Yes
|
||||
33 3 Yes Yes Yes
|
||||
34 4 Yes Yes Yes
|
||||
35 5 Yes Yes Yes
|
||||
36 6 Yes Yes Yes
|
||||
37 7 Yes Yes Yes
|
||||
38 8 Yes Yes Yes
|
||||
39 9 Yes Yes Yes
|
||||
40 M Yes Yes Yes
|
||||
41 Rép (Ans) - - -
|
||||
42 A Yes Yes Yes
|
||||
43 B Yes Yes Yes
|
||||
44 C Yes Yes Yes
|
||||
45 D Yes Yes Yes
|
||||
46 E Yes Yes Yes
|
||||
47 F Yes Yes Yes
|
||||
48 x Yes Yes Yes
|
||||
49 y Yes Yes Yes
|
||||
4A Pré-Rép - - -
|
||||
4C θ Yes - -
|
||||
60 ( Yes Yes Yes
|
||||
68 Abs( Yes Yes -
|
||||
69 Rnd( Yes Yes -
|
||||
6C sinh( Yes Yes -
|
||||
6D cosh( Yes Yes -
|
||||
6E tanh( Yes Yes -
|
||||
6F sinh⁻¹( Yes Yes -
|
||||
70 cosh⁻¹( Yes Yes -
|
||||
71 tanh⁻¹( Yes Yes -
|
||||
72 e^ Yes - -
|
||||
73 10^ Yes - -
|
||||
74 √( Yes Yes -
|
||||
75 ln( Yes Yes -
|
||||
76 ³√( Yes Yes -
|
||||
77 sin( Yes Yes -
|
||||
78 cos( Yes Yes -
|
||||
79 tan( Yes Yes -
|
||||
7A Arcsin( Yes Yes -
|
||||
7B Arccos( Yes Yes -
|
||||
7C Arctan( Yes Yes -
|
||||
7D log( Yes Yes -
|
||||
7E Pol - - -
|
||||
7F Rec - - -
|
||||
83 Ent( Yes Yes -
|
||||
84 EntEx( Yes Yes -
|
||||
87 RanInt#( Yes Yes -
|
||||
88 PGCD( - - -
|
||||
89 PPCM( - - -
|
||||
8A Arond( Yes Yes -
|
||||
A5 = Yes Yes Yes
|
||||
A6 + Yes Yes Yes
|
||||
A7 - Yes Yes Yes
|
||||
A8 × Yes Yes Yes
|
||||
A9 ÷ Yes Yes Yes
|
||||
AA ⊢ - - -
|
||||
AD P - - -
|
||||
AE C - - -
|
||||
C0 - Yes Yes Yes
|
||||
C8 ⌋ - - -
|
||||
C9 ^( - - -
|
||||
CA [x]√( - - -
|
||||
D0 ) Yes Yes Yes
|
||||
D4 ⁻¹ - - -
|
||||
D5 ² - - -
|
||||
D6 ³ - - -
|
||||
D7 % Yes Yes Yes
|
||||
D8 ! - - -
|
||||
D9 ° - - -
|
||||
DA ʳ - - -
|
||||
DB ᵍ - - -
|
||||
DC ° - - -
|
||||
DD E - - -
|
||||
DE P - - -
|
||||
DF T - - -
|
||||
E0 G - - -
|
||||
E1 M - - -
|
||||
E2 k - - -
|
||||
E3 m - - -
|
||||
E4 μ - - -
|
||||
E5 n - - -
|
||||
E6 p - - -
|
||||
E7 f - - -
|
||||
E9 ▶Simp - - -
|
||||
F901 end of line Yes Yes Yes
|
||||
F902 end of program Yes Yes Yes
|
||||
F903 empty line - - -
|
||||
F905...00 Avancer de ... Yes Yes Yes
|
||||
F906...00 Tourner de ↺ ... Yes Yes Yes
|
||||
F907...00 S'orienter à ... Yes Yes Yes
|
||||
F908...00...00 Aller à x=...; y=... Yes Yes Yes
|
||||
F909 Stylo écrit Yes Yes Yes
|
||||
F90A Stylo relevé Yes Yes Yes
|
||||
F90B...00...00 ...→... (Mettre var à) Yes Yes Yes
|
||||
F90C...00 : ?→... (Demander valeur) - - -
|
||||
F90D3100 "Oui" - - -
|
||||
F90D3200 "Non" - - -
|
||||
F90D3300 "Nombre?" - - -
|
||||
F90D3400 "Résultat:" - - -
|
||||
F90E...00 Afficher résult ... Yes Yes Yes
|
||||
F90F3100 Style Flèche - - -
|
||||
F90F3200 Style Croix - - -
|
||||
F910 Attendre Yes Yes Yes
|
||||
F911...00 Répéter ... Yes Yes Yes
|
||||
F912 (end of Répéter) Yes Yes Yes
|
||||
F913...00 Répéter jusqu'à ... Yes Yes Yes
|
||||
F914 (end of Répéter jusqu'à) Yes Yes Yes
|
||||
F915...00 Si ... Alors Yes Yes Yes
|
||||
F916 (end of Si/Alors) Yes Yes Yes
|
||||
F917...00 Si ... Alors ... Sinon Yes Yes Yes
|
||||
F918 Sinon Yes Yes Yes
|
||||
F919 (end of Si/Alors/Sinon) Yes Yes Yes
|
||||
FB01 < Yes Yes Yes
|
||||
FB02 > Yes Yes Yes
|
||||
FB03 ≠ Yes Yes Yes
|
||||
FB04 ≤ Yes Yes Yes
|
||||
FB05 ≥ Yes Yes Yes
|
||||
FB10 →M - - -
|
||||
FB12 →A - - -
|
||||
FB13 →B - - -
|
||||
FB14 →C - - -
|
||||
FB15 →D - - -
|
||||
FB16 →E - - -
|
||||
FB17 →F - - -
|
||||
FB18 →x - - -
|
||||
FB19 →y - - -
|
||||
FB1A M+ - - -
|
||||
FB1B M- - - -
|
||||
FD18 Ran# - - -
|
||||
|
|
10
fx92.py
10
fx92.py
|
@ -3,11 +3,11 @@
|
|||
import sys
|
||||
import getopt
|
||||
|
||||
from parser import Parser
|
||||
from lexer import UrlLexer, TextLexer
|
||||
from printer import print_ast
|
||||
from drawing import Window, InterruptException
|
||||
from interpreter import Context
|
||||
from fx92.parser import Parser
|
||||
from fx92.lexer import UrlLexer, TextLexer
|
||||
from fx92.printer import print_ast
|
||||
from fx92.drawing import Window, InterruptException
|
||||
from fx92.interpreter import Context
|
||||
|
||||
#---
|
||||
# Main program
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# fx-92 Scientifique Collège+ language interpreter: AST interpreter
|
||||
|
||||
from ast import N, Node
|
||||
from fx92.ast import N, Node
|
||||
import math
|
||||
|
||||
class Context:
|
|
@ -1,8 +1,8 @@
|
|||
# fx-92 Scientifique Collège+ language interpreter: Syntactic analysis
|
||||
|
||||
import re
|
||||
from lexer import T, Token, BitcodeLexer
|
||||
from ast import N, Node
|
||||
from fx92.lexer import T, Token, BitcodeLexer
|
||||
from fx92.ast import N, Node
|
||||
|
||||
#---
|
||||
# LL(1) parser
|
|
@ -1,6 +1,6 @@
|
|||
# fx-92 Scientifique Collège+ language interpreter: AST printer
|
||||
|
||||
from ast import N, Node
|
||||
from fx92.ast import N, Node
|
||||
|
||||
#---
|
||||
# Message definitions
|
Loading…
Reference in New Issue