Bläddra i källkod

Add concatenated strings

pull/6/head
Max Brunsfeld 9 år sedan
förälder
incheckning
9b715a2620
4 ändrade filer med 28108 tillägg och 27377 borttagningar
  1. +19
    -0
      corpus/expressions.txt
  2. +6
    -0
      grammar.js
  3. +20
    -0
      src/grammar.json
  4. +28063
    -27377
      src/parser.c

+ 19
- 0
corpus/expressions.txt Visa fil

@ -49,6 +49,25 @@ int main() {
(compound_statement
(expression_statement (call_expression (identifier) (string_literal) (identifier))))))
============================================
String literals
============================================
int main() {
"a";
"b" "c" "d";
}
---
(translation_unit
(function_definition
(identifier)
(function_declarator (identifier))
(compound_statement
(expression_statement (string_literal))
(expression_statement (concatenated_string (string_literal) (string_literal) (string_literal))))))
============================================
Character literals
============================================

+ 6
- 0
grammar.js Visa fil

@ -449,6 +449,7 @@ module.exports = grammar({
$.identifier,
$.number_literal,
$.string_literal,
$.concatenated_string,
$.char_literal,
$.parenthesized_expression
),
@ -609,6 +610,11 @@ module.exports = grammar({
'\''
)),
concatenated_string: $ => seq(
$.string_literal,
repeat1($.string_literal)
),
string_literal: $ => token(seq(
'"',
repeat(choice(/[^"]/, '\\"')),

+ 20
- 0
src/grammar.json Visa fil

@ -1891,6 +1891,10 @@
"type": "SYMBOL",
"name": "string_literal"
},
{
"type": "SYMBOL",
"name": "concatenated_string"
},
{
"type": "SYMBOL",
"name": "char_literal"
@ -3075,6 +3079,22 @@
]
}
},
"concatenated_string": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "string_literal"
},
{
"type": "REPEAT1",
"content": {
"type": "SYMBOL",
"name": "string_literal"
}
}
]
},
"string_literal": {
"type": "TOKEN",
"content": {

+ 28063
- 27377
src/parser.c
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


Laddar…
Avbryt
Spara