github.com/tetratelabs/wazero@v1.7.1/internal/integration_test/spectest/v2/testdata/tokens.wast (about)

     1  ;; Tokens can be delimited by parentheses
     2  
     3  (module
     4    (func(nop))
     5  )
     6  (module
     7    (func (nop)nop)
     8  )
     9  (module
    10    (func nop(nop))
    11  )
    12  (module
    13    (func(nop)(nop))
    14  )
    15  (module
    16    (func $f(nop))
    17  )
    18  (module
    19    (func br 0(nop))
    20  )
    21  (module
    22    (table 1 funcref)
    23    (func)
    24    (elem (i32.const 0)0)
    25  )
    26  (module
    27    (table 1 funcref)
    28    (func $f)
    29    (elem (i32.const 0)$f)
    30  )
    31  (module
    32    (memory 1)
    33    (data (i32.const 0)"a")
    34  )
    35  (module
    36    (import "spectest" "print"(func))
    37  )
    38  
    39  
    40  ;; Tokens can be delimited by comments
    41  
    42  (module
    43    (func;;bla
    44    )
    45  )
    46  (module
    47    (func (nop);;bla
    48    )
    49  )
    50  (module
    51    (func nop;;bla
    52    )
    53  )
    54  (module
    55    (func $f;;bla
    56    )
    57  )
    58  (module
    59    (func br 0;;bla
    60    )
    61  )
    62  (module
    63    (data "a";;bla
    64    )
    65  )
    66  
    67  
    68  ;; Space required between symbols and non-parenthesis tokens
    69  
    70  (module
    71    (func (block $l (i32.const 0) (br_table 0 $l)))
    72  )
    73  (assert_malformed
    74    (module quote
    75      "(func (block $l (i32.const 0) (br_table 0$l)))"
    76    )
    77    "unknown operator"
    78  )
    79  
    80  (module
    81    (func (block $l (i32.const 0) (br_table $l 0)))
    82  )
    83  (assert_malformed
    84    (module quote
    85      "(func (block $l (i32.const 0) (br_table $l0)))"
    86    )
    87    "unknown label"
    88  )
    89  
    90  (module
    91    (func (block $l (i32.const 0) (br_table $l $l)))
    92  )
    93  (assert_malformed
    94    (module quote
    95      "(func (block $l (i32.const 0) (br_table $l$l)))"
    96    )
    97    "unknown label"
    98  )
    99  
   100  (module
   101    (func (block $l0 (i32.const 0) (br_table $l0)))
   102  )
   103  (module
   104    (func (block $l$l (i32.const 0) (br_table $l$l)))
   105  )
   106  
   107  
   108  ;; Space required between strings and non-parenthesis tokens
   109  
   110  (module
   111    (data "a")
   112  )
   113  (assert_malformed
   114    (module quote
   115      "(data\"a\")"
   116    )
   117    "unknown operator"
   118  )
   119  
   120  (module
   121    (data $l "a")
   122  )
   123  (assert_malformed
   124    (module quote
   125      "(data $l\"a\")"
   126    )
   127    "unknown operator"
   128  )
   129  
   130  (module
   131    (data $l " a")
   132  )
   133  (assert_malformed
   134    (module quote
   135      "(data $l\" a\")"
   136    )
   137    "unknown operator"
   138  )
   139  
   140  (module
   141    (data $l "a ")
   142  )
   143  (assert_malformed
   144    (module quote
   145      "(data $l\"a \")"
   146    )
   147    "unknown operator"
   148  )
   149  
   150  (module
   151    (data $l "a " "b")
   152  )
   153  (assert_malformed
   154    (module quote
   155      "(data $l\"a \"\"b\")"
   156    )
   157    "unknown operator"
   158  )
   159  
   160  (module
   161    (data $l "")
   162  )
   163  (assert_malformed
   164    (module quote
   165      "(data $l\"\")"
   166    )
   167    "unknown operator"
   168  )
   169  
   170  (module
   171    (data $l " ")
   172  )
   173  (assert_malformed
   174    (module quote
   175      "(data $l\" \")"
   176    )
   177    "unknown operator"
   178  )
   179  
   180  (module
   181    (data $l " ")
   182  )
   183  (assert_malformed
   184    (module quote
   185      "(data $l\" \")"
   186    )
   187    "unknown operator"
   188  )
   189  
   190  (module
   191    (data "a" "b")
   192  )
   193  (assert_malformed
   194    (module quote
   195      "(data \"a\"\"b\")"
   196    )
   197    "unknown operator"
   198  )
   199  
   200  (module
   201    (data "a" " b")
   202  )
   203  (assert_malformed
   204    (module quote
   205      "(data \"a\"\" b\")"
   206    )
   207    "unknown operator"
   208  )
   209  
   210  (module
   211    (data "a " "b")
   212  )
   213  (assert_malformed
   214    (module quote
   215      "(data \"a \"\"b\")"
   216    )
   217    "unknown operator"
   218  )
   219  
   220  (module
   221    (data "" "")
   222  )
   223  (assert_malformed
   224    (module quote
   225      "(data \"\"\"\")"
   226    )
   227    "unknown operator"
   228  )
   229  
   230  (module
   231    (data "" " ")
   232  )
   233  (assert_malformed
   234    (module quote
   235      "(data \"\"\" \")"
   236    )
   237    "unknown operator"
   238  )
   239  
   240  (module
   241    (data " " "")
   242  )
   243  (assert_malformed
   244    (module quote
   245      "(data \" \"\"\")"
   246    )
   247    "unknown operator"
   248  )
   249  
   250  
   251  (assert_malformed
   252    (module quote
   253      "(func \"a\"x)"
   254    )
   255    "unknown operator"
   256  )
   257  (assert_malformed
   258    (module quote
   259      "(func \"a\"0)"
   260    )
   261    "unknown operator"
   262  )
   263  (assert_malformed
   264    (module quote
   265      "(func 0\"a\")"
   266    )
   267    "unknown operator"
   268  )
   269  (assert_malformed
   270    (module quote
   271      "(func \"a\"$x)"
   272    )
   273    "unknown operator"
   274  )