언어,language



query_language
WtEn:query_language
SQL WtEn:SQL etc.
QQQ 이건 형식언어,formal_language인가 아닌가? 문법이 있고 거기에 벗어나면 invalid라면 .... 근데 좀 less strict한 QL도 있을 듯 한데...? Ggl:자연어 질의 언어 같은것도 있을 듯 싶고
Up: query(질의,query가 무난? NdEn:query Ndict:query ) 언어,language
WtEn:query_language WpSp:Query_language WpEn:Query_language
NdEn:query Ndict:query
pagename? RR: 질의어,query_language ?

문법
단어,word { https://encyclopediaofmath.org/wiki/Word }
{
기호,symbols들의 집합,set알파벳,alphabet이며, 알파벳의 유한 개의 순서쌍,ordered_pair(curr 튜플,tuple)단어,word라 한다.
이 용어를 사용할 때에는 (i.e. 순서쌍이 아닌 단어란 용어를 쓸 때에는) 다중순서쌍
(a1, …, an)
을 그냥
a1 … an
으로 나타낸다.

i.e. ordered pair와 word는 본질은 같고 표기법,notation 차이.
ordered n-pair, n-tuple (a1, …, an)
word (of length n) a1 … an

단어는 그 길이,length로 구분할 수 있는데, 길이가 n인 단어들 전체의 집합을
An
으로 나타낸다. 따라서 모든 단어들의 집합은 다음과 같다.
A* := A1 ∪ A2 ∪ A3 ∪ …
저자에 따라 길이가 0인 공단어(수학백과 링크는 공집합,empty_set) ∅도 단어로 본다. (띄어쓰기 같은, 아무 형태가 없는 기호를 사용하기도 한다) 이 때는 모든 단어들의 집합은 다음과 같다.
A* := A0 ∪ A1 ∪ A2 ∪ A3 ∪ …

(단어들의 합성)
단어를 합성(합성,composition?합성,synthesis? concatenation? 영어?)하여 새로운 단어를 얻을 수 있다.
(...)
단어들을 합성하는 함수
Am × An → Am+n
(w, u) ↦ wu
결합법칙,associativity을 만족시킨다. 또 공단어는 항등원,identity_element 역할을 한다.
(mk page 공단어,empty_word? { cmp 공문자열,empty_string })

(언어와 문법)
(여기서 말하는 건 좁은 뜻의 언어) (형식언어?)
알파벳 A를 사용하는 언어,language란, 모든 단어들의 집합 A*의 한 부분집합,subset L을 뜻한다.
이 때 L을 서술하는 '효과적인 과정'을 문법,grammar이라고 한다.
형식체계,formal_system도 언어를 사용한다.
}

알파벳,alphabet { https://encyclopediaofmath.org/wiki/Alphabet }
기호,symbol들의 유한 집합?
letter 들의? { https://encyclopediaofmath.org/wiki/Letter }
from [https]수학백과: 순서쌍 4. 언어
{
기호,symbol들의 집합,set알파벳이라고 한다.
알파벳의 유한 개의 순서쌍,ordered_pair단어,word라 한다.

} // alphabet

문자열 or 스트링 string
문장,sentence (curr see RR:품사pumsa, RR:논리학,logic#s-2)
명제,proposition는 문장의 일종?

방언, 사투리, dialect



컴퓨터 언어의 구분

일단 레벨,level에 따라, // 다른분류들 추가TODO
상위언어 high-level language
하위언어 low-level language

대체적으로,
상위언어는 사람들이 읽고 쓰기 편한 언어,
하위언어는 컴퓨터가 이해하는 언어, 기계어. // machine_language or machine_code
상층부 언어는 그 아래 언어로 번역된다 - translation, compilation. 그 번역기는 (보통) 컴파일러,compiler. 기타 어셈블러,assembler

  • ↑인간적
  • pseudocode
  • PL statement
  • assembly language statement
  • machine code / machine language
  • ↓기계적


ADD:
기계어,machine_language - language보다는 instruction?
{
or machine_code ? http://foldoc.org/machine language redir to http://foldoc.org/machine code
사실 이건 language보다는 code가 더 어울리는?
아무튼 language code instruction 셋 다 가능...

topix:
opcode op_code operation_code
mnemonics 의 일종.. ( http://foldoc.org/instruction mnemonic )
e.g. add, jump/branch, load, store
http://foldoc.org/operation code
operand - parameter 의 일종 ?
레지스터,register, 주소,address, ....
http://foldoc.org/operand - argument 근데 저 사이트에서 parameter vs argument 가 어떻게되던가 chk
- 저기선 argument를 formal_argument = parameter ( http://foldoc.org/formal argument ), actual_argument ( http://foldoc.org/actual argument ) 로 분류
- see also http://foldoc.org/argument
- note that http://foldoc.org/parameter redir. to formal argument

rel. mklink:
instruction - opcode , operand 로 구성?
instruction_set
instruction_set_architecture ISA
프로세서,processor or 마이크로프로세서,microprocessor
n.b. http://foldoc.org/processor redir. to central processing unit
http://foldoc.org/microprocessor
CPU central_processing_unit
microcode
}
DSL,domain_specific_language // 특정영역에서... Up: 영역,domain?
마크다운,Markdown
HLSL
UML
XML
SQL

어셈블리,assembly??? or 어셈블리어,assembly_language
{
어셈블러,assembler { http://foldoc.org/assembler (short) }

공개 서적

초보자를 위한 PC 어셈블리어 (PC Assembly Language)
한국어번역 pdf
지은이 : Paul A. Carter
번역자 : 이재범
2006년 7월 23일
https://kevin0960.tistory.com/entry/초보자를-위한-PC-어셈블리어-PC-Assembly-Language

보유서적

IBM PC 어셈블리 프로그래밍 5판
Peter Abel
[ISBN-8970855130]

http://foldoc.org/assembly language - aka assembly_code { A symbolic representation of the 기계어,machine_language of a specific processor. }
}

Sub:
자연어,natural_language vs 인공어,artificial_language
형식언어,formal_language
마크업언어,markup_language
HTML,hypertext_markup_language
SGML,standard_generalized_markup_language
XML,extensible_markup_language
제이슨,JSON?
가벼운마크업언어 경량마크업언어 lightweight_markup_language LML - blog/forum/wiki markup에 쓰이는. Markdown, reStructuredText, BBCode, 각종 wiki_syntax, ...
기술언어,description_language - for 기술,description
stylesheet_language
프로그래밍언어,programming_language,PL or PL,programming_language - PL을 명시할지 말지 TBD
이것들 일단 이렇게 만드는데, 혹시 문제가 생긴다면 별도 namespace에 분류할지, _PL이나 _programming_language나 _language 같은 suffix를 붙일지 pagename scheme TBD.
파이썬,Python
피에이치피,PHP or PHP_Hypertext_Preprocessor
루비,Ruby
펄,Perl
자바,Java
루아,Lua
씨샵,CSharp?
씨플플,CPP?
씨,C? ...C언어,C_language?
에이피엘,APL?
제이,J?
비큐엔,BQN?
// 위 셋 비교 : Ggl:APL J BQN
알,R?
파스칼,Pascal
에이다,Ada
고,Go
프롤로그,Prolog
러스트,Rust
스몰토크,Smalltalk
오브젝티브씨,Objective-C?
엘릭서? 일릭서? Elixir
줄리아? Julia
하스켈,Haskell
...
package_manager가 언어를 가진 경우도. Nix language Ggl:nix language
...
/// PL design
https://proglangdesign.net/wiki/
https://www.pls-lab.org/
WpEn:Programming_language_design_and_implementation
인터프리터,interpreter 해석기? { WpKo:인터프리터 WpEn:Interpreter_(computing) }
컴파일러,compiler - 컴파일,compile
lexer
파서,parser
어셈블러,assembler
/// PL theory
책:
Practical Foundations for Programming Languages (PFPL)
Robert Harper
https://www.pls-lab.org/en/pfpl
WpEn:Programming_language_theory
Up: 설계/디자인 design

artificial_language , constructed_language (conlang) // WtEn:artificial_language WtEn:constructed_language
Esperanto, Ido, Interlingua,

메타언어,metalanguage
{
WtEn:metalanguage
https://foldoc.org/metalanguage
}